0
다음은 WebApi 닷넷 코어 2 프로젝트 내 ActionFilter입니다 :WebApi Core ActionFilter에서 Body를 String으로 요청 하시겠습니까?
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class RequestLoggingAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext actionContext)
{
var request = actionContext.HttpContext.Request;
var route = request.Path.HasValue ? request.Path.Value : "";
var requestHeader = request.Headers.Aggregate("", (current, header) => current + $"{header.Key}: {header.Value}{Environment.NewLine}");
request.EnableRewind();
var requestBody = new StreamReader(request.Body).ReadToEnd();
}
}
requestHeader
가 올바른 값을 가지고 있으며, 그것은 OK,하지만 requestBody
는 항상 비어 있습니다.
다음 본문과 함께 요청을 작업에 보내어 테스트합니다.
[
{
"TrackingCode": "96003445",
"Description": "",
"InnerMessage": "",
"Status": 11
},
{
"TrackingCode": "96003840",
"Description": "",
"InnerMessage": "Inner message",
"Status": 11
}
]
WebApi Core 2 ActionFilter에서 요청 본문은 어떻게 얻을 수 있습니까?
@Nkosi와
확인 위치를 작동하고 0 – Nkosi
HTTPS를 재설정 할 필요가있는 경우 참조 : // 유래 .com/questions/32339283/webapi-get-the-post-raw-body-inside-a-filter –