我使用的是带有以下Maven依赖项的swagger:
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-jaxrs2</artifactId>
<version>2.0.9</version>
</dependency>
我编写了一个API调用,如下所示:
@Operation(
method = "GET",
summary = "Get alerts by Date Range",
extensions = @Extension(name = "x-rest-api", properties = @ExtensionProperty(name = "public", value = "true")),
parameters = {
@Parameter(name = "startDate",
in = ParameterIn.QUERY,
description = "Get alerts from this date. `startDate` should be in GMT and 24 hour Clock",
example = "2020-07-15T15:57:00Z",
schema = @Schema(implementation = ZonedDateTime.class),
required = true),
@Parameter(name = "endDate",
in = ParameterIn.QUERY,
description = "Get alerts to this date. `endDate` should be in GMT and 24 hour Clock",
example = "2020-07-20T15:57:00Z",
required = true)
},
responses = {
@ApiResponse(
responseCode = "200",
description = "A list of alerts",
content = @Content(schema = @Schema(implementation = AlertObject .class))),
@ApiResponse(
responseCode = "401",
description = "Invalid Bearer Token",
content = @Content(schema = @Schema(implementation = ApiException.class))
)
}
)
@GET
@Path("/old")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public AlertObject alertsByDateRange(@NotNull @Valid @QueryParam("startDate") ZonedDateTime startDate,
@NotNull @Valid @QueryParam("endDate") ZonedDateTime endDate) { ... }
我在网上查看了一下,但我找不到一组好的例子,说明如何在swagger for java中正确设置所需参数,也找不到一个描述java版本细微差别的API。
所以我的问题是——如何正确设置所需的参数,以便它们仍然可以通过昂首阔步的用户界面执行?
我想出了问题。
如果您注意到在上面的代码中,我在swagger中声明了相同的参数两次。第一次是:
@Parameter(name = "startDate",
in = ParameterIn.QUERY,
description = "Get alerts from this date. `startDate` should be in GMT and 24 hour Clock",
example = "2020-07-15T15:57:00Z",
schema = @Schema(implementation = ZonedDateTime.class),
required = true),
第二次是:
@NotNull @Valid @QueryParam("startDate") ZonedDateTime startDate,
当我看着山药时,我看到了这个:
parameters:
- name: startDate
in: query
description: Get historical alerts from this date. `startDate` should be in
GMT and 24 hour Clock
required: true
schema:
type: string
format: date-time
example: 2020-07-15T15:57:00Z
...
- name: startDate
in: query
required: true
schema:
type: string
format: date-time
结果,该参数出现两次。你可以分辨哪个是哪个,因为第一个参数有描述,第二个没有。
(我认为根本的问题是,两者都被认为是必需的
,但我们只能填写1个参数。)
一旦我删除了第二个声明,我就可以使用swagger来测试我的API调用。
我对使用Selenium是新手,在Selenium Grid 2中使用RemoteWebDriver时遇到了一些问题。我想知道我的代码出了什么问题。谢谢 我分3步设置RemoteWebDriver: > 将Chrome驱动程序设置为系统属性,我检查了路径是否正确 设置功能 通过RemoteWebDriver打开驱动程序 结果通过前两步,但在最后一步失败,因为日志没有显示。似乎在设置RemoteWe
我最近在论坛上问了一个问题,为什么ExecutorService在获得期货后阻止了我的程序:ExecutorService和Future阻止了主线程 问题是,经过大量的调试,有罪的线不是未来。get()但是
在我的Espresso测试执行和AlertDialog会被提示并等待用户响应。Espresso测试只有在我按下“Accept”按钮但我想测试代替用户执行此事件时才会继续。 我注意到我的线程选项卡上有以下状态
我正在使用jQuery FormBuilder插件。链接:http://formbuilder.readthedocs.io/en/latest/.现在,当用户提交表单时,我想确保所有必需的字段(带*)都已填写完毕,否则表单将无法提交(我会收到一条错误消息'一个无效的表单控件,名称='xxx'是不可聚焦的。')。表单中有许多类型的输入,包括文本、文本区域、下拉选择、单选和复选框等。我如何验证所有这
问题内容: 当try块中存在时,我对try- finally执行感到困惑。据我了解,finally块将始终执行,即在返回调用方法之前。在考虑以下简单代码时: 实际打印的结果为1。这是否意味着不执行finally块?有人可以帮我吗? 问题答案: 从块返回时,返回值存储在该方法的堆栈帧中。之后,将执行finally块。 更改finally块中的值不会更改堆栈中已存在的值。但是,如果您从finally块
我在Spring Boot应用程序中有以下类: 当我通过GET请求调用它时,我得到一个200 OK的回复,其中包含BBC的HTML源代码。co.uk公司。因此,似乎正在遵循重定向。 根据HTTP规范第10.3.3节: 如果收到302状态码以响应GET或HEAD以外的请求,则除非用户能够确认,否则用户代理不得自动重定向该请求 此外,它还专门针对非GET响应,并不规定GET请求应该重定向。因此,尽管在