에 데이터를 추가 나는 HttpResponseMessage
반환 내 웹 API에서 작업이 있습니다, 내 문제는 지금웹 API는 다음 HttpResponseMessage
public async Task<HttpResponseMessage> Create([FromBody] AType payload)
{
if (payload == null)
{
throw new ArgumentNullException(nameof(payload));
}
await Task.Delay(1);
var t = new T { Id = 0, Name = payload.tName, Guid = Guid.NewGuid() };
var response = new MyResponse { T = t };
var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ObjectContent(typeof(MyResponse), response, new JsonMediaTypeFormatter { SerializerSettings = { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore } }) };
return result;
}
을 그 요청이와 요청의 Content-Type
가 application/xml
인 경우, 나는 응답의 시신을 xml formatter
을 써야한다.
제네릭 클래스를 사용하고 프레임 워크가 요청의 콘텐츠 유형을 기반으로 런타임에 어떤 포맷터를 사용할 지 결정하는 방법이 있습니까?
나는이 작업을 수행했으며 요청은 xml이고 응답은 json ... 이유를 모르겠다. –
요청의 수락 헤더를 기반으로. 요청의 콘텐츠 유형에 따라 콘텐츠를 강제로 적용하려면 요청에서 가져 와서 응답 생성 과부하에 포함 시키십시오. 'Request.CreateResponse (HttpStatusCode.OK, response, Request.Content.Headers.ContentType); ' – Nkosi
응답 내용 유형은 요청 내용 유형을 기반으로합니다. – Nkosi