1

私はAPIコントローラーを持っています:

public class ExchangesController : ApiController
{
    [HttpGet]
    public List<ExchangesTrade> GetTrades(long tid)
    {

のようにブラウザから呼び出せるようにしたい/api/USD/trades.json?tid=5

RouteConfig に「routes.MapRoute」をどのように記述すればよいですか?

4

1 に答える 1

1

最初に、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
于 2013-03-16T06:02:04.183 に答える