2016-09-16 1 views
0

:私はリソースにアクセスしようとするとパラメータがWebAPIアプリケーションにバインドされていないのはなぜですか?私はこのようなWebAPIのリソースにアクセスしてい

public class MyParams { 
    public int? ParamOne {get;set;} 
    public string ParamTwo {get;set;} 
} 

[HttpGet] 
public HttpResponseMessage Get([FromUri]MyParams someparams) { 
    ... 
} 

、私はこのエラーを取得:

HTTP Error 403.14 Forbidden The Web server is configured to not list the contents of this directory

ValuesControllerで

localhost/myapp/api/values?ParamOne=123&ParamTwo=testing 

を、私はこれを持っています

RouteConfig.csは次のとおりです。デフォルト:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new {controller="Home", action="Index", id=UrlParameter.Optional} 

誰かが間違っていることを知っていますか?

+0

ポストルートの設定から継承しなければなりません。 –

+0

投稿されました。私はRouteConfigを変更していません。 – 4thSpace

+0

これはapiコントローラかmvcコントローラですか? uriはapiのように見えますが、ルートconfigはmvc configのように見えます。 –

答えて

1

あなたのWebAPIのGetエンドポイントがないParamOneParamTwoパラメータとしてsomeparamsを期待しています。あなたの質問では上記のルート設定は、MVCコントローラではないWebAPIのコントローラ用です

localhost/myapp/api/values?ParamOne=123&ParamTwo=testing

public HttpResponseMessage Get(int? ParamOne, string ParamTwo) 

アップデート

:以下に、あなたのエンドポイントの署名を変更する

は、指定されたURLで動作するはずです。 WebAPIのルートの設定については、以下を参照してください。必要な

GlobalConfiguration.Configure(WebApiConfig.Register); 

NuGetパッケージ:

  • Microsoft.AspNet

    Global.asax.csで
    public static class WebApiConfig 
        { 
         public static void Register(HttpConfiguration config) 
         { 
          // Web API configuration and services 
    
          // Web API routes 
          config.MapHttpAttributeRoutes(); 
    
          config.Routes.MapHttpRoute(
            name: "DefaultApi", 
            routeTemplate: "api/{controller}/{id}", 
            defaults: new { id = RouteParameter.Optional } 
          ); 
         } 
        } 
    

    Application_Start()方法、それはそうのように登録されています。 WebApi.Core

  • Microsoft.AspNet.WebApi.WebHost

もう一つは、あなたのコントローラがApiControllerないController

+0

それはどちらも動作しません。このためにRouteConfigはどのように見えますか? – 4thSpace

+0

更新を確認してください。 – Oluwafemi

関連する問題