【发布时间】:2020-07-07 01:26:51
【问题描述】:
我的一个端点在 Java 代码中采用 2 个参数,data/format type 为 Date。在 swagger 中,API 将预期输入显示为:
string($date-time)
(查询)
当我在两个参数框中输入2020-07-07T01:08:10Z 时,我得到状态码400 Bad request 作为响应。我也试过2020-07-07T01:08:10.873Z。
我是否给出了错误的日期格式?请帮忙。
编辑:
@GetMapping("/findAllEventsWithoutLogin")
public Collection<GeneralEvent> getAllEvents(@RequestParam("start_date") Date startDate,
@RequestParam("end_date") Date endDate) {
package com.events.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any()).build();
}
}
编辑:
仅供参考:当我在正文中传递日期时,相同的日期格式可以正常工作,但当我将其作为查询参数传递时则不行。下面工作正常。
【问题讨论】:
-
我猜 Swagger 是错误的 - 它下面的代码期望与 Swagger 文档不同的东西。您的代码输入看起来不错。您可以访问底层服务吗?
标签: java spring-boot swagger swagger-ui swagger-2.0