public HttpResponseMessage Get()
{
sessionResponse.message = "Not permitted";
sessionResponse.code = statusCode.Unauthorized;
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Unauthorized, sessionResponse);
return response;
}
这给了我总的HTML页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title></head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
</fieldset></div>
</div>
</body>
</html>
但是当我运行此代码时:
public HttpResponseMessage Get()
{
sessionResponse.message = "Not permitted";
sessionResponse.code = statusCode.Unauthorized;
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, sessionResponse);
return response;
}
我变得越来越想要的Json: { 消息:"不允许", 代码:" 401" }
所以,当响应不是httpstatuscode.ok时,我正在面临问题,我没有得到JSON。如果状态代码不错请求或未经授权,我将获得文本/html。该怎么办?我在Apiconfig文件中添加了JSON Formatter,但没有运气。
您可以使用Request.CreateResponse
过载,该Overload通过string
接受MediaTypeFormatter
类型或媒体类型,以明确说明您希望使用的格式化器:
return Request.CreateResponse(HttpStatusCode.Unauthorized, sessionResponse, "application/json");