Benim sorun gelir parametresinde özel bir karaktere sahiptir.WebAPI 2 GET Bir webapi2 (tümü doğru çalıştığından, normal karakteri ile) <strong>özel kömürü</strong> olan bir dize parametresi ile</strong> GET çağırır <strong>zaman
angularjs
this.getByContactValue = function (contactValue) {
return $http.get("/api/subjects/"+ contactValue+ "/ContactValue");
}
C#
[Route("api/subjects/{contactValue}/ContactValue")]
public IEnumerable<Subject> GetByContactValue(string contactValue)
{
return repository.GetByContactValue(contactValue);
}
yanıt 404 hata olup. bu şekilde
this.getByContactValue = function (contactValue) {
var request = $http({
method: "get",
url: "/api/subjects/ContactValue", //modified the route in c# controller
data: contactValue
});
return request;
}
isteği değiştirmeye de çalıştı Ama hata aynıdır.
Webapi'yi çağırmanın en iyi yolu hangisidir? Sonunda bu şekilde çözüldü
[Route("api/subjects/ContactValue?contactValue={contactValue}")]
public IEnumerable<Subject> GetByContactValue(string contactValue)
{
return repository.GetByContactValue(contactValue);
}
iyi yolu geçmek olduğunu ettik ya querystring ya da formdaki parametreler. Hatanın oluştuğu verileri sağlayabilir misiniz? – SamGhatak
Olası http://stackoverflow.com/questions/14359305/mvc-web-api-routing-fails-when-url-contains-encoded-ampersand çoğaltması ve –