以下の 2 つのコントローラーで/api/container/dasdada
は、"a" が返されます。を実行するcontainer?value=hello
と、「こんにちは」と表示されます。パラメータバインディングが機能しない原因は何ですか?
public HttpResponseMessage Get()
{
return Request.CreateResponse<string>("a");
}
public HttpResponseMessage Get(string value)
{
return Request.CreateResponse<string>(value);
}
私はそれをホストするためにKatanaを使用しています:
HttpConfiguration apiConfig = new HttpConfiguration();
apiConfig.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
apiConfig.Formatters.Remove(apiConfig.Formatters.XmlFormatter);
apiConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
app.UseDependencyResolver(resolver)
.UseWebApiWithOwinDependencyResolver(resolver, apiConfig);
app.UseWebApi(apiConfig);