저는 경험이 풍부한 프로그래머이지만 WebApi는 처음입니다 (우리는 MS asp.net MVC 프레임 워크를 사용하고 있습니다). 나는 표준이 이미이 정보를 가지고있는 HttpResponseMessage 개체를 반환 요구 것을보고HttpResponseMessage 클라이언트 측을 보는 방법은 무엇입니까?
{
success: [boolean],
errorLog: [error message, if failed],
referer: [api call details],
payload: {
// results, if success
}
:
고객
모든 반환 값이 종류의 객체에 싸여 할 것을 요청했다. 내가 할 때, 복제보다는, 그냥. 내가 클라이언트 측에서이 객체를 사용하는 방법을 볼 수 없습니다, 그러나, 예를 들어return Ok(object);
을 직접 (중 이러한 유형의 객체를 반환하거나 IHttpActionResult를 통해 브라우저에서 API 호출, 내가 보는 모두는 (심지어 디버거를 사용) 내용이다 내가 오류를 반환 할 때, 나는 다음을 참조하십시오.
<Error>
<Message>foo bar</Message>
</Error>
그러나 다른 정보의 흔적 (상태 코드, ReasonPhrase 등) .Json 형식을 반환하는 경우에도 마찬가지입니다.
이 객체는 다소 박탈되어 있습니까? 라인을 따라, 그리고 만약 그렇다면 누구? 이 객체가 API 호출자에게 도착하도록 허용하여 관련 필드를 모두 사용할 수있게하려면 어떻게해야합니까?
감사
편집
는 : 주석의 요청에 따라 그것을 훨씬이 아니지만, 나는 내 서버 측 코드를 게시하도록하겠습니다.public HttpResponseMessage Get() {
HttpResponseMessage response = Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "foo bar");
response.ReasonPhrase = "There is no reason.";
return response;
}
이 위에 게시 된 XML 결과 코드입니다 다음 HttpResponseMessage 객체를보고에서 내 시도는이 컨트롤러를 만드는 것이 었습니다. 당신이 HttpResponseMessage을 만들 IHttpActionResult
ExecuteAync에 대한 호출을 반환 할 때
경우 안, 당신은 게시 할 수 있습니다 같은 대답이
같은 POCO를 작성하고 전송하는 것입니다 서버 사이드 코드? –