.NETでバックエンドを設定し、基本的なHTTP呼び出しが機能しています。今はIDで検索するのではなくプロパティで検索する代替メソッドが必要です。そのため、最後に別のプロパティでREST呼び出しを行いたいと思います。 /api/{controller}/{action}/{id}
:私のAPIの設定は以下のように構成されてWEB APIカスタムエンドポイント名を使用したアクション
public IHttpActionResult GetCategory(int id)
{
var category = _productService.GetCategoryById(id);
if (category == null) return NotFound();
var dto = CategoryToDto(category);
return Ok(dto);
}
public IHttpActionResult GetCategoryByName(string name)
{
var category = _productService.GetCategoryByName(name);
if(category == null) return NotFound();
var dto = CategoryToDto(category);
return Ok(dto);
}
:ここ
は私のコントローラの2つの方法です。
だから、最初の呼び出しは、この呼び出しで動作します。私はこの呼び出しで第二の方法をしようとすると/api/category/getcategory/2
:/api/category/getcategorybyname/Jewelry
私は自分のコントローラにはアクションが要求と一致しないというエラーを取得します。
ここで問題は何ですか?
おかげで、完璧に働きました! – TanguyB
エンドポイントを同じにすることもできます(もっとRESTfulに感じるでしょう)。 [Route( "api/categories/{int:id}")パラメータで型を指定すると、.NETは正しい動作を解決できます。 –