Привет всем, столкнулся с проблемой следующего характера.
Есть метод в контроллере, который принимает некоторые данные в теле POST запроса, метод приведу ниже.
Как посмотреть какой именно запрос приходит на этот метод?
[HttpPost]
[Route("Status")]
public async Task<IHttpActionResult>
PaymentStatusAsync([FromBody]PaymentStatusBindingModel xml)
{
// Получить тело запроса нужно здесь (с заголовками и прочим)
return Ok();
}
Спасибо всем кто отзовется
Ок, пусть модель запроса выглядит так:
public class RequestModel
{
public string Method { get; set; }
public string HttpVersion { get; set; }
public Uri RequestUri { get; set; }
public string Content { get; set; }
public HttpRequestHeaders Headers { get; set; }
}
Для получения информации о запросе обычно используется свойство Request
.
Тогда сам метод получения нужной информации может выглядеть примерно так:
public async Task<RequestModel> GetRequestInfoAsync(HttpRequestMessage request)
{
string body;
using (Stream stream = await Request.Content.ReadAsStreamAsync())
{
stream.Seek(0, SeekOrigin.Begin);
using (StreamReader sr = new StreamReader(stream))
{
body = await sr.ReadToEndAsync();
}
}
return new RequestModel()
{
Content = body,
Headers = request.Headers,
HttpVersion = request.Version.ToString(),
Method = request.Method.Method,
RequestUri = request.RequestUri
};
}
Теперь остаётся только вызвать метод GetRequestInfoAsync
:
[HttpPost]
[Route("Status")]
public async Task<IHttpActionResult> PaymentStatusAsync([FromBody] PaymentStatusBindingModel xml)
{
RequestModel data = await GetRequestInfoAsync(this.Request);
return Ok();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет, сразу скажу что я не очень хорош в геймдеве и у меня возник странный вопрос, можно ли изменить данный скрипт так, что бы он выводился...