エラーの原因を理解するためにいくつかのリンクを確認しましたが、問題は修正されていません。
PostmanからWebAPiアクションにアクセスしようとしていますが、以下のエラーが発生します。
"メッセージ": "リクエストURIに一致するHTTPリソースが見つかりませんでした ' http:// localhost:50684/api/albums/history '。"、
"messageDetail": "'album'という名前のコントローラーに一致するタイプが見つかりませんでした。"
私のAPI。
[Authorize]
public class AlbumsController : ApiController
{
[HttpGet]
[Route("api/album/history/")]
public BaseTO GetHistory(string type,int id)
{
//api stuff
}
}
api/album/history/{anything}
で試してみました
郵便配達員から電話をかけている間、私は通りかかっています:-
どんな助け/提案も大歓迎です。ありがとう
Api configで属性ルーティングを有効にしましたか? config.MapHttpAttributeRoutes();
現在のルートでは、クエリ文字列http://localhost:50684/api/albums/history?type=test&id=1
を介してヒットし、パラメータを[FromUri]
で装飾する必要があります。
[HttpGet]
[Route("api/albums/history/")]
public IHttpActionResult GetHistory([FromUri]string type,[FromUri]int id)
{
//api stuff
}
またはルートパラメータを介してAPIをヒットする-http://localhost:50684/api/albums/history/test/1
[HttpGet]
[Route("api/albums/history/{type}/{id}")]
public IHttpActionResult GetHistory(string type,int id)
{
//api stuff
}
私はこれを変更したのと同じ問題を抱えていました:
AllowInsecureHttp = true
public void ConfigureAuth(IAppBuilder app)
{
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
PublicClientId = "self";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/api/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
AllowInsecureHttp = true
};
app.UseOAuthBearerTokens(OAuthOptions);
}
コードは次のようになります。
[Authorize]
public class AlbumsController : ApiController
{
[HttpGet]
[Route("api/albums/history/")]
public IHttpActionResult GetHistory(string type,int id)
{
//api stuff
}
}
postmanからの呼び出しは次のようになり、PostmanのメソッドがGETであることを確認してください。
http:// localhost:50684/api/album/history?type = test&id = 1
それがあなたを助けることを願っています。