【发布时间】:2022-10-03 03:16:29
【问题描述】:
尝试使用 hotchocolate 获得答案时,在枚举类型的字段中,答案是字符串的形式,我需要一个枚举值
[UseProjection]
public IQueryable<Cart> GetActualCart([Service] ApplicationDbContext context, ClaimsPrincipal claimsPrincipal, int pageNumber = 1, int pageSize = 10)
{
var userId = claimsPrincipal.FindFirstValue(ClaimTypes.NameIdentifier);
return context.Carts
.Where(f => f.CourierId == new Guid(userId))
.FromPage(pageNumber, pageSize);
}
public class Cart : AuditableBaseEntity<Guid>
{
public Guid CourierId { get; set; }
public CartStatus Status { get; set; } = CartStatus.Building;
public virtual ICollection<CartItem> Items { get; set; } = new HashSet<CartItem>();
}
public enum CartStatus
{
Building = 1,
WarehouseDelivery = 2,
WarehouseRefund = 3,
CartRefund = 4,
}
回复:
\"data\": {
\"actualCart\": [
{
\"courierId\": \"efb60c9e-c6fe-4479-bd93-82fb23ad63b5\",
\"status\": \"BUILDING\"
},
{
\"courierId\": \"efb60c9e-c6fe-4479-bd93-82fb23ad63b5\",
\"status\": \"WAREHOUSE_DELIVERY\"
}
]
-
你为什么要这个?在生成的架构中,您已经指定
Status是一个枚举,这些是它的值。客户已经明白这一点——客户应该尊重已发布的模式。 -
除非您确保 GraphQL 架构说
Status是不是一个枚举,所有有效的客户端都将被破坏
标签: c# .net enums graphql hotchocolate