1

У меня есть простой API-контроллер и GET действия, определенный следующим образом:WebAPI RouteAttribute не принимает параметры из запроса

[RoutePrefix("api")] 
public class MyController : ApiController 
{ 
    [HttpGet] 
    [Route("My/{id1}/{id2}")] 
    public object Get(Guid id1, Guid id2) 
    { 
     return new object(); 
    } 
} 

Вызова этого с

http://localhost/api/My/dd0d728-ae3d-4129-8a81-b0cdbcfd17c1/11063362-243b-4ff6-b3b6-85a9d611d347' 

выдает следующее сообщение об ошибке

Словарь параметров содержит нулевую запись для Параметр 'id1' не-nullable типа 'System.Guid`.

Похоже, что он нашел правильный маршрут, но не может правильно установить параметры.

ответ

0

Я тестировал маршрут, который вы предоставили, и смог воссоздать проблему, которую вы получили. Но когда я создал два новых Гида и снова попробовал маршрут, он сработал.

Я думаю, что предоставленные вами ценности не могут преобразовываться в соответствующие Гиды.

Проверьте, чтобы значения могли быть преобразованы в требуемый тип.

Надежда, что помогает

+0

Это заканчивается в '404' – KingKerosin

+1

О ш ** !!! Действительно, в первой части есть только 7 символов вместо 8! Кажется, что 'copy & paste' сегодня не был моим другом. Спасибо, человек! – KingKerosin

+0

@KingKerosin, проблем нет. Бывает с нами. лол. Рад помочь. – Nkosi

Смежные вопросы