在ServiceStack中传达所需/可选DTO属性的最佳方法是什么?

Jas*_*ano 7 servicestack swagger

我的ServiceStack w/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; }
}
Run Code Online (Sandbox Code Playgroud)

如果它们是我的DTO的一部分,Swagger将干净地显示这两种类型,但是我不能传达FirstName,LastName或任何Address属性是否是必需的.有没有办法实现这一点,而无需滚动单独的规范文档?

Wil*_*ith 3

您可以使用[ApiMember(IsRequired = false)]DTO 中属性的属性来为 swagger ui 添加额外信息。

servicestack wiki上有 swagger ui 可以识别的属性列表