Проблема с методом отправки и получения запроса

#c# #post #asp.net-web-api #get

#c# #Публикация #asp.net-web-api #получить

Вопрос:

В настоящее время у меня возникают проблемы с получением обоих запросов для совместной работы.

Когда я использую [FromUri] , я не могу отфильтровать запрос POST в fiddler, но я могу вызвать запрос GET в любом браузере.

Но когда я использую [FromBody] , я не могу запросить метод GET, но я могу отфильтровать запрос POST в fiddler.

(например, GET request —> localhost/api /test?name=bbcm)

(например, запрос POST: [request header] —> User-Agent: Fiddler Тип содержимого: application / json; Хост: localhost: 45361 Длина содержимого: 16 Авторизация: Базовая #####= [request Body] —> {» имя»:»bbcm»})

  [Authorize]
 [HttpGet]
 [HttpPost]
 public HttpResponseMessage post([FromUri] Query query)
 {
      // do something

        var data = Data.ToList();

        if (!data.Any())
        {
            var message = string.Format("No data found");
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
        }

        return Request.CreateResponse(HttpStatusCode.OK, data);
    }

}
  

Я неправильно вызываю запрос или мне нужно изменить его в своем коде, чтобы заставить это работать.
Пожалуйста, дайте совет. Большое спасибо

Ответ №1:

Просто создайте один метод POST и один метод GET и частный метод, который вызывается из них обоих. Это позволяет корректно использовать входные параметры для желаемых методов.

Вы все равно можете получить доступ к параметрам GET в контексте метода POST через объект запроса, если вам действительно нужно.