在wordnik的petstore example中,他们提供了响应类的文档。可以在/ pet / {petId}端点上看到一个示例:
Pet {
name (string, optional),
id (integer, optional): foo,
category (Category, optional),
photoUrls (array[string], optional),
tags (array[Tag], optional),
status (string, optional) = ['available' or 'pending' or 'sold']: pet status in the store
}
看起来它支持以下参数:
有没有办法通过ServiceStack实现实现这一目标?
答案 0 :(得分:3)
这是ServiceStack Swagger实现当前支持的版本,从版本3.9.59开始:
ApiMemberAttribute
string
属性),使用ApiAllowableValues
属性System.ComponentModel.Description
属性确保您的请求DTO实现IReturn<ResponseDtoType>
接口。
考虑到当前的ServiceStack Swagger实现,以下可能是我能想到的最接近的Petstore示例:
public class Pet
{
public string Name { get; set; }
[Description("foo")]
public int? Id { get; set; }
public Category Category { get; set; }
public List<string> PhotoUrls { get; set; }
public List<Tag> Tags { get; set; }
// If "Status" is implemented internally as a string
[Description("pet status in the store")]
[ApiAllowableValues("Status", "available", "pending", "sold")]
public string Status1 { get; set; }
// If you can implement "Status" as an enum, the allowable values
// are instead automatically documented:
[Description("pet status in the store")]
public Statuses Status2 { get; set; }
public enum Statuses { available, pending, sold }
}
该DTO中唯一标记为可选的属性是Id
。