我正在尝试设置属性路由:
[HttpPut]
[Route("api/Config/Put")]
[ResponseType(typeof(void))]
public async Task<IHttpActionResult> Put(Config config) {
if (!ModelState.IsValid) {
return BadRequest(ModelState);
}
}
这是我创造的。我的问题是我是否必须做任何事情来指定我发送给方法的config
?还可以将此指定为控制器的方法而不是装饰每个方法吗?
答案 0 :(得分:0)
请添加
config.MapHttpAttributeRoutes();
所以现在就像这样
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
对于你的第二个问题:你有一些叫做[RoutePrefix("api")]
属性的东西你可以添加到控制器中,这样这个部分就可以用于所有方法。在我们的案例中&#34; api&#34;是常见的