Moja metoda post jest coś takiego:Jak odczytać nagłówek Location z POST API w angularjs?
public HttpResponseMessage AddUser(User user)
{
UserManager userManager = new UserManager();
try
{
userManager.Create(user);
var savedUser = userManager.FindUserByClientId(user.ClientId);
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, user);
response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = savedUser.Id }));
return response;
}
catch(Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
}
}
W kątowe, staram się czytać tego nagłówka Location ale jak dotąd nadal nie jestem w stanie.
return $http.post('http://localhost:30028/api/values/adduser', user)
.success(function (data, status, headers, config) {
alert(angular.toJson(data));
alert(angular.toJson(status));
alert(angular.toJson(headers));
alert(angular.toJson(config));
};
Właśnie sprawdzam zawartość każdego z nich i żaden nie ma nagłówka lokalizacji. Czy istnieje kąt w dostępie do nagłówka lokalizacji, tak że znam adres URL mojego nowego obiektu?
Czy to nie łamie HTTP? Lokalizacja nie powinna iść z 200. –
@ MikaelÖstberg to dobrze z 202s. http://farazdagi.com/blog/2014/rest-long-running-jobs/ –