我已经尝试了很长一段时间让Web API 2正常工作.我已经通过互联网阅读了很多文章和帖子,但到目前为止我还不走运.
我只需要使用简单的Web API方法,但由于某种原因,我仍然没有找到404方法.我现在真的不知道,问题可能在我看来一切都好.
我尝试了很多属性,配置等等.我最终得到了这段代码:
Global.asax中
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
GlobalConfiguration.Configure(WebApiConfig.Register);
Run Code Online (Sandbox Code Playgroud)
WebApiConfig.cs
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(x => x.MediaType == "application/xml");
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
Run Code Online (Sandbox Code Playgroud)
ApiController
public class ContactFormController : ApiController
{
[Route("~/api/sendemail")]
[HttpPost()]
public IHttpActionResult SendEmail(ContactFormModel contactForm)
{
return Ok();
}
}
Run Code Online (Sandbox Code Playgroud)
模型:
public class ContactFormModel
{
public string Name { get; set; }
public string Email { get; set; }
public string Subject { get; set; }
public …Run Code Online (Sandbox Code Playgroud)