Como serializar uma referência IdentityUser na Web API 2.2?
O modelo de projeto "API da Web" do Visual Studio inclui pontos de extremidade para lidar com registro, autenticação e autorização de usuários. Em um aplicativo de produção, no entanto, os usuários também serão tipicamente associados a outras Entidades, como:
public class Post {
public Post() {};
public int Id { get; set; }
public ApplicationUser User { get; set; }
}
Nesses cenários, oApplicationUser
classe (que é derivada deIdentityUser
) não pode ser serializado. Tentar fazer isso resultará em um erro semelhante a:
O tipo 'ObjectContent`1' falhou ao serializar o corpo da resposta para o tipo de conteúdo 'application / json; charset = utf-8 '.
Vi problemas semelhantes surgidos em outros lugares com a recomendação de aprovar um DTO em vez doApplicationUser
objeto. Isso parece muita sobrecarga de desenvolvedor, no entanto. Não existe uma maneira de serializarApplicationUser
diretamente?