У меня есть проект Web Api 2:
[AuthorizeUser]
public class ValuesController : ApiController
{
[Route("api/value/get")]
[HttpPost]
public IHttpActionResult Get()
{
return Ok("Hello world!");
}
}
И конфигурация в WebApiConfig.cs
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
И запрос от клиента AngularJS:
$scope.getvalue = function () {
var url = "http://localhost:59073/api/value/get";
$http({
method: "POST",
url: url,
header: {
'x-access-token': 'abc'
}
}).then(function onSuccess(res) {
console.log(res);
}).then(function onError(err) {
console.log(res);
});
}
Но я не могу получить свой пользовательский заголовок "x-access-token" заголовка запроса POST на стороне сервера. И я также не вижу ни одного запроса OPTIONS на вкладке Network в Chrome.