我有一个Web Api 2项目,它有一个HttpGet方法,该方法将复杂对象的列表作为参数。像这样:
[HttpGet]
public string GetCoolStuff(List<ContainerContract> containers)
我用swashbuckle来设置我的swagger文档。但是它像这样设置这个参数:
{
"name" : "containerContracts",
"in" : "query",
"required" : true,
"type" : "array",
"items" : {},
"collectionFormat" : "multi"
}
至少项目
对象似乎需要一些东西。
后来在定义部分,
我确实发现了这一点:
"ContainerContract" : {
"type" : "object",
"properties" : {
"Type" : {
"type" : "string"
},
"Temperature" : {
"type" : "string"
},
"CreatedWhen" : {
"format" : "date-time",
"type" : "string"
}
}
但它似乎没有被使用...
有没有办法设置它,让swagger理解这是一个对象列表,并给我一种为各个属性输入值的方法?(就像我对不是列表的复杂对象所做的那样。
下面是我在图片中的意思:
还是说Swagger Ui只是还没那么智能?(如果我必须编写Json来填充我的列表,那么我可以。)
以防万一,这里有一个< code>ContainerContract的例子:
public class ContainerContract
{
public string Type { get; set; }
public char Temperature { get; set; }
public DateTime CreatedWhen { get; set; }
}
不幸的是,在2.0规范(Swashbuck使用的规范)中,查询参数中不能有复杂的对象,甚至数组中也不能。因此,在下一个版本之前,您希望执行的操作不受支持。您可以有一个数组,但<code>项
我试图用Swagger来描述我正在构建的web-api。问题是我无法理解如何描述复杂的json对象? 比如如何描述这个对象:
我有一个gprsEvents列表,其中列表中的每个元素都是一个映射 ,如下所示。我需要: null 我开始考虑使用Java8Stream(groupingBy):gprsents.stream().collectors.groupingBy(Map->map.Get(“CallChargingID”).ToString())) 我现在坚持得到合适的结果,特别是在一个单一的地图和上面提到的字段的列表
一、 描述 Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。 它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。Nmap 以新颖的方式 使用原始 IP 报文来发现网络上有哪些主机,那些 主机提供什么服务(应用程序名和版本),那 些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它
一般来说,一个描述器是一个有“绑定行为”的对象属性 (object attribute),它的访问控制被描述器协议方法重写。 这些方法是 __get__(), __set__() , 和 __delete__() 。 有这些方法的对象叫做描述器。 默认对属性的访问控制是从对象的字典里面 (__dict__) 中获取 (get) , 设置 (set) 和删除 (delete) 。 举例来说, a.x
概述 JavaScript 提供了一个内部数据结构,用来描述对象的属性,控制它的行为,比如该属性是否可写、可遍历等等。这个内部数据结构称为“属性描述对象”(attributes object)。每个属性都有自己对应的属性描述对象,保存该属性的一些元信息。 下面是属性描述对象的一个例子。 { value: 123, writable: false, enumerable: true,
我正在尝试使用Retrofit2和静态编程语言发送一个复杂对象作为我请求的参数。该对象的结构如下: 列表字段的数量是不同的(可以是2个列表,也可以是10个)以及每个列表中的项目数量。我正在使用以下代码来实现这一点,之前用适当的值填充了我的Map: 由于某种原因,这种方法无法正常工作,服务器只是忽略了我的参数。我还尝试将它们作为string/ject发送,但服务器似乎只接受FormUrlEncode