我的ServiceStack与Swagger实现有关于记录必需/可选属性的问题。实现使用我的服务的客户的开发人员喜欢Swagger文档,但是他们不知道哪些属性是可选的 - 除了每次尝试获得有效请求时都获得400响应。
采用以下示例:
public class UserProfile
{
public string FirstName { get; set; }
public string LastName { get; set; }
public UserAddress Address { get; set; }
}
public class UserAddress
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public string Country { get; set; }
public string PhoneNumber { get; set; }
}
如果它们是我的DTO的一部分,Swagger将干净地显示这两种类型,但是我不能传达FirstName,LastName或任何Address属性是否是必需的。有没有办法实现这一点,而无需滚动单独的规范文档?
答案 0 :(得分:3)
您可以在DTO中的属性上使用[ApiMember(IsRequired = false)]
属性为swagger ui添加额外信息。
有一些swagger ui会在servicestack wiki
上识别的属性列表