Атрибут маршрута не работает для HttpPost в Web Api (404 не найден) - PullRequest
0 голосов
/ 08 ноября 2019

В .NET Web API У меня есть контроллер с [HttpPost] методом. Я попытался различить его маршрут с помощью атрибута [Route], используя 5 фиктивных параметров. Сами данные будут отправляться и приниматься через [FromBody]:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using api.Models;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;    

...
//POST
[Route("api/myControllerPath/p_dummyParam1/p_dummyParam2/p_dummyParam3/p_dummyParam4/p_dummyParam5")]
[HttpPost]
        public async Task<IHttpActionResult> doStuff
            (
              string p_dummyParam1
            , string p_dummyParam2
            , string p_dummyParam3
            , string p_dummyParam4
            , string p_dummyParam5
            , [FromBody] List<int> IDs
            )
        {
            List<int> listIDs;       
                    listIDs = IDs;    
                    return Ok();       
        }

Однако этот путь не выполняется с 404 «Не найдено», несмотря на то, что путь соответствует описанию [Route] (http://localhost:8080/api/myControllerPath/1/2/3/4/5). Есть идеи? Разве [Route] атрибуты не могут быть использованы таким образом с POST методами? У меня нет этой проблемы с GET s.

...