私はAPIコントローラーを持っています:
public class ExchangesController : ApiController
{
[HttpGet]
public List<ExchangesTrade> GetTrades(long tid)
{
のようにブラウザから呼び出せるようにしたい/api/USD/trades.json?tid=5
RouteConfig に「routes.MapRoute」をどのように記述すればよいですか?
私はAPIコントローラーを持っています:
public class ExchangesController : ApiController
{
[HttpGet]
public List<ExchangesTrade> GetTrades(long tid)
{
のようにブラウザから呼び出せるようにしたい/api/USD/trades.json?tid=5
RouteConfig に「routes.MapRoute」をどのように記述すればよいですか?
最初に、routes.MapRoute は従来の MVC アプリのルートを追加します。Web API のルートを追加する場合は、Web API の HttpConfiguration ルートで MapHttpRoute を使用して HTTP ルートを追加する必要があります。
Web API 構成で、次のような URI パス マッピング拡張機能を追加できます。
config.Formatters
.JsonFormatter
.MediaTypeMappings
.Add(new UriPathExtensionMapping("json", "application/json"));
次のようにルートを追加します。
config.Routes.MapHttpRoute(
name: "ExchangesRouteWithExtensions",
routeTemplate: "api/USD/{action}.{ext}/{tid}",
defaults: new { controller = Exchanges, tid = RouteParameter.Optional }
);
次に、次のようにエンドポイントにアクセスします。
api/USD/trades.json?tid=5