【发布时间】:2016-11-28 22:01:25
【问题描述】:
不确定这里发生了什么。
我正在通过 Web API 项目公开身份功能。 CRUD 方面将暴露给管理应用程序,并在面向公众的应用程序中登录、注册。
现在我只是想通过 Web Api 控制器操作返回数据库中所有用户的列表。我没有得到任何响应输出,但我确实从服务中取回了数据:
/// <summary>
///
/// </summary>
/// <returns></returns>
[HttpGet]
[Route("")]
public async Task<IHttpActionResult> GetAllUsers()
{
var model = await _userService.GetAllUsers(); //<---Gets List<AppUser> here?
return Ok(model);
}
这个动作在 fiddler 或 Postman 上什么都没有显示?
有什么想法吗?
public class AppUser : IdentityUser
{
public DateTime Created { get; set; }
}
IdentityUser 类有什么特别之处会阻止它被序列化吗?
这里是 web api 序列化配置:
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
config.Formatters.Add(new JsonFormatter());
}
public class JsonFormatter : JsonMediaTypeFormatter
{
public JsonFormatter()
{
this.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
this.SerializerSettings.Formatting = Formatting.Indented;
}
public override void SetDefaultContentHeaders(Type type, HttpContentHeaders headers, MediaTypeHeaderValue mediaType)
{
base.SetDefaultContentHeaders(type, headers, mediaType);
headers.ContentType = new MediaTypeHeaderValue("application/json");
}
}
【问题讨论】:
标签: serialization asp.net-web-api asp.net-identity