2016-07-22 19 views
1

文字列パラメータを受け入れて文字列値を返すWeb APIを構築したいのですが、常にエラーが発生します。要求されたリソースはサポートしていませんHTTPメソッドGET。私はスタックのオーバーフローのビットを検索し、[AcceptVerbs("GET")]行を追加しましたが、私はまだエラーがあります。誰も私を助けてくれる?Asp.net Web api要求されたリソースがHTTPメソッド 'GET'をサポートしていません

Global.asax.csは

config.Routes.MapHttpRoute(
       name: "sasRoute", 
       routeTemplate: "api/sas/{container}", 
       defaults: new 
       { 
        controller = "sas", 
        container = RouteParameter.Optional 
       } 
      ); 

コントローラのメソッド

[Route("{container}")] 
[AcceptVerbs("GET")] 
[HttpGet] 
public string GetContainerToken(string container) 
{ 
    return container; 
} 
+0

どのURLを試していますか? –

+0

@PaulAbbottます。http:// localhostを:52896/API/SAS /テスト –

+0

あなたが試してみてください: [ルート( "/ API /モバイル/ {コンテナ}")] [HTTPGET] パブリック文字列GetContainerToken(文字列コンテナ) { リターンコンテナ; } –

答えて

3

を提出すでに属性ルートを持っているようにあなたは、カスタムルートを登録する必要はありません。

コードから削除します。代わりにRoutePrefixが必要になります。

[RoutePrefix("api/sas")] 
public class SasController : ApiController 
{ 
    [Route("{container}")] 
    public string Get(string container) 
    { 
     return container; 
    } 
}