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

时间:2013-12-19 15:18:41

标签: servicestack swagger

我的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属性是否是必需的。有没有办法实现这一点,而无需滚动单独的规范文档?

1 个答案:

答案 0 :(得分:3)

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

有一些swagger ui会在servicestack wiki

上识别的属性列表