Je suis nouveau dans l'utilisation de l'API Web et j'essaie d'appeler une méthode spécifique dans mon contrôleur.web api routage avec action et id
Je
global.asax
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
la classe WebApiConfig avec ces acheminements
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new
{
id = RouteParameter.Optional
}
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
action="DefaultAction",
id = RouteParameter.Optional
}
);
et mon contrôleur
[HttpGet]
public HttpResponseMessage GetPatSummary(string PatId)
{
PatientSummary Pat = new PatientSummary();
HttpResponseMessage Response = new HttpResponseMessage();
string yourJson = Pat.GetPatient(PatId);
Response = this.Request.CreateResponse(HttpStatusCode.OK, yourJson);
return Response;
}
[ActionName("DefaultAction")] //Map Action and you can name your method with any text
public IHttpActionResult GetPatient(int id)
{
Object Obj = new object();
if (Obj!=null)
{
return NotFound();
}
return Ok(Obj);
}
l'URL J'utilise est
http://localhost/mdmwapi/api/MdmwPatientController/GetPatSummary/sgdgdgddhdhd1334254
mais je reçois cette erreur Un segment de chemin ne peut pas contenir deux paramètres consécutifs. Ils doivent être séparés par un '/' ou par une chaîne littérale.
Je reçois écrou :-)
ce qui est 'partie mdmwapi' d'URL? – Mostafiz
est le nom du projet – brillox
vous devez supprimer cette partie et essayer à nouveau ce qui se passe, car ce n'est pas la partie de l'url – Mostafiz