当我尝试将 Swagger 集成到一个非常简单的Spring启动 REST 应用程序 Swagger-UI 中时.html不会显示和获取我自定义的 API 信息。我应该如何更改以下代码,以便 Swagger UI 页面将显示自定义的 API 信息?我也无法调试 SwaggerConfig 类,将断点放入,但当作为Spring启动应用运行时,断点不会停止。
我在pom.xml:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
我的SwaggerConfig类:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket messageApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("cool-report-api")
.apiInfo(apiInfo())
.select()
.paths(messageApiPaths()).build();
}
private Predicate<String> messageApiPaths() {
return or(regex("/api/topics.*"), regex("/api/message.*"));
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Cool Message Receiver API")
.description("Cool Message Receiver REST API Reference")
.termsOfServiceUrl("http://www.cool-message-receiver.com")
.contact(new Contact("John Smith", null, "john.smith@cool.com"))
.license("Cool Proprietary Software")
.licenseUrl("www.cool-message.com")
.version("0.1.0")
.build();
}
}
但在我启动后:运行上述代码,定制的API信息似乎不起作用,Swagger仍然显示默认的“API Documentation”标题和“Apache 2.0”许可证等。我现在看到的是:
apiInfo应该在构建后调用,如下所示:
@Bean
public Docket messageApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("cool-report-api")
.select()
.paths(messageApiPaths())
.build()
.apiInfo(apiInfo());
}
我觉得问题是messageApisPath()。
确保添加以下库:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>16.0.1</version>
</dependency>
它包含许多谓词函数。确保您的“or”来自那里。
以下对我有用
private Predicate<String> messageApiPaths() {
return Predicates.or(PathSelectors.regex("/api/topics.*"), PathSelectors.regex("/api/message.*"));
}
谢谢
我已经成功地将swagger集成到我的项目中 现在,我可以点击URLhttp://localhost:8080/myapp/v2/api-docs,看到返回的描述REST API的json。例如。 然后我拉入了swagger-ui依赖项
好吧,这是一个两部分的问题,我试图最好地解释我的疑问: 代码很简单,用户不断输入成绩,程序会对其进行计数,一旦用户给出EOF条目,程序会在最后显示每个成绩的最终计数。 1) 当我运行代码时,程序会正确地跟踪我输入的每个等级的计数,但总是落在默认情况下,即使输入是正确的!为什么会这样? 2) 因此,我不完全确定“cin.get()”是如何工作的,但如果我是对的,它会接受用户输入的任何内容的第一个字符
Swagger UI 不显示请求参数的验证信息。我想显示参数的最小值,最大值,格式,模式(正则表达式)。有谁知道我在Swagger UI上表达参数验证信息的方式吗?
我正在尝试在Spring中使用MessageSource注入文本消息。我编写的程序编译良好,但它总是打印出默认消息,而不是从. Properties文件中获取正确的值。我一点线索也没有。 下面是尝试注入文本的Circle类: 下面是bean配置文件的一部分: 我存储问候语和画图。圈入消息。属性文件,并编写了一个主类。但输出总是: 有人知道我的情况可能会出什么问题吗? 更新感谢您的建议。我正在调试,
我正在发出警报,服务由警报启动。我希望服务接收额外数据,因此在谷歌搜索中,我将标志设置为Intent。FILL_IN_DATA。下面是我的代码。(仅显示重要部分)(我有几种警报模式,调用不同的服务) } 服务端代码(编辑:此代码在BService类中。AService不需要接收额外代码。) 但是,结果始终为-1,这意味着没有额外收到。 我的代码有什么问题?我在谷歌上搜索了几个小时,没有任何希望。
我在UserProfile中添加自定义字段UserType作为字符串。我想更改我的获取值,并将该值传递到TempData中。 这是我在AccountController上的代码: 我对该方法进行了调试,以下是我掌握的信息: 有人对此有什么解决办法吗?我是ASP. NET的新手,但也许如果我实现自定义成员资格,它会工作,你觉得呢?你能给我一些例子吗?谢谢你们。 解决方案如下: `[HttpPost]