【发布时间】:2018-09-02 00:19:56
【问题描述】:
使用下面的代码,我点击了构造函数,但没有点击操作。网址是 http://localhost:64704/api/mytest/mymethod。当我尝试像这样更改路由时出现同样的问题:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
[Route("api/[controller]")]
public class MyTestController : ApiController
{
readonly IMyFacade myFacade;
public MyTestController(IMyFacade myFacade) => this.myFacade = myFacade;
[HttpPost]
[Route("mymethod")]
public IHttpActionResult MyMethodName([FromBody]MyModel model)
{
//some code here
return Ok();
}
}
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
更新 1
public class WebApiApplication : HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
UnityConfig.RegisterComponents();
}
}
更新 2
public static void RegisterComponents()
{
var container = new UnityContainer();
// register all your components with the container here
// it is NOT necessary to register your controllers
// e.g. container.RegisterType<ITestService, TestService>();
/* ...... */
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
}
更新 3 { “字段1”:“1”, "Field2": "一些键", "Field3": "当然是一些名字" }
【问题讨论】:
标签: .net asp.net-web-api asp.net-web-api2 postman