ためstring.Empty
を変更してみてください。あなただけのApiControllersのすべてのHTTPメソッドをカバーする一つの簡単なルートマップがあるはずです:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
あなたは実際のパスにパラメータを移動したい場合は、ルートを調整する必要がある唯一の時間があり、これを使用して、やっていないように見える。次に、2つのフィールドでの検索にGET
HTTPメソッドは次のようになります。
public IEnumerable<Product> Get(string name, string type){
//..your code will have to deal with nulls of each parameter
}
あなたが明示的に一度に一つのフィールドで検索する場合、あなたは異なる目的のために異なるコントローラを使用して考えなければなりません。すなわち、単一のGet(string type)
方法を有するSearchProductByTypeController
である。そのルートは/ api/SearchProductByTypeControllerですか?type = gadget
RouteParameterは私のコースの要件を満たしていないだろう/製品/ ABCのようなURLを使用するだろう:もちろん接頭辞を持つすべてのメソッドに
Get
は、あなたがこれを読んでする必要があるかもしれませんです。私は、クエリ文字列パラメータを使用できるようにする必要があります。 – rickythefox