【发布时间】:2018-06-11 10:40:33
【问题描述】:
我有这个问题,在我的响应正文中返回了我不想包含的数据,而我想要返回的数据没有包含在其中。我尝试使用 Swagger v1.0
数据返回
{
"version": {
"major": 1,
"minor": 1,
"build": -1,
"revision": -1,
"majorRevision": -1,
"minorRevision": -1
},
"content": {
"headers": [
{
"key": "Content-Type",
"value": [
"application/json"
]
}
]
},
"statusCode": 200,
"reasonPhrase": "OK",
"headers": [],
"isSuccessStatusCode": true
}
预期回报
这是我的代码:
[HttpGet]
[Authorize]
public HttpResponseMessage GetStudent(int id)
{
try
{
var student = _studentService.Find(id);
return ModelHelper.ComposeResponse(HttpStatusCode.OK, student);
}
catch (Exception ex)
{
var exceptionMessage = ModelHelper.GetErrors(ex, _mailService);
ModelState.AddModelError(new ValidationResult(exceptionMessage));
}
return ModelHelper.ComposeResponse(HttpStatusCode.BadRequest, ModelHelper.GetModelStateErrors(ModelState));
}
助手代码
public static HttpResponseMessage ComposeResponse(HttpStatusCode statusCode, object responseData)
{
var jsonResponse = JsonConvert.SerializeObject(responseData);
var resp = new HttpResponseMessage
{
StatusCode = statusCode,
Content = new StringContent(jsonResponse, Encoding.UTF8, Constants.Common.ApplicationJson)
};
resp.Content.Headers.ContentType = new MediaTypeHeaderValue(Constants.Common.ApplicationJson);
return resp;
}
【问题讨论】:
-
这是 ASP.NET MVC 项目还是 ASP.NET MVC Core 项目? HttpResponseMessage 是一种 Web API 类型,MVC 不直接支持。
-
@CodeCaster MVC 核心项目先生
标签: c# httpresponse httpresponsemessage