に特殊文字を持っている私の問題が来ます。WEBAPI 2 GETパラメータ
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);
}
応答が404エラーあります。 私はこのよう
this.getByContactValue = function (contactValue) {
var request = $http({
method: "get",
url: "/api/subjects/ContactValue", //modified the route in c# controller
data: contactValue
});
return request;
}
に要求を変更することも試みたが、エラーは同じです。
webapiを呼び出す最良の方法はどれですか?最後に、私はこの方法で解決
[Route("api/subjects/ContactValue?contactValue={contactValue}")]
public IEnumerable<Subject> GetByContactValue(string contactValue)
{
return repository.GetByContactValue(contactValue);
}
最善の方法を通過されましたクエリ文字列またはフォームのパラメータ。エラーが発生しているデータを提供してください。 – SamGhatak
可能な複製http://stackoverflow.com/questions/14359305/mvc-web-api-routing-fails-when-url-contains-encoded-ampersand –