2016-07-22 4 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: // локальный: 52896/API/SAS/тест –

+0

Вы должны попробовать: [Route ("/ API/мобильный/{контейнер}")] [HttpGet] публичная строка GetContainerToken (строка контейнера) { Обратный контейнер; } –

ответ

3

Вам не нужно регистрироваться пользовательского маршрута, как вы уже Атрибут Route.

Удалить это из кода. Вместо этого вам понадобится RoutePrefix.

[RoutePrefix("api/sas")] 
public class SasController : ApiController 
{ 
    [Route("{container}")] 
    public string Get(string container) 
    { 
     return container; 
    } 
} 
Смежные вопросы