2016-07-22 2 views
1

문자열 매개 변수를 허용하고 문자열 값을 반환하는 웹 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; 
    } 
} 
관련 문제