@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket templateApi() { ParameterBuilder tokenPar = new ParameterBuilder(); tokenPar.name("token").description("token令牌") .modelRef(new ModelRef("string")).parameterType("header").required(false).build(); return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .useDefaultResponseMessages(false) .select() .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)) .build().globalOperationParameters(Lists.newArrayList(tokenPar.build())); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("佛山市协同应急指挥系统 Rest API 文档") .version("1.0") .build(); } }
时间: 2024-04-29 22:19:48 浏览: 25
这段代码是一个 Swagger2 的配置类,其中配置了一个 templateApi 的 Docket Bean。在该 Bean 中,我们使用 ParameterBuilder 构建了一个名为 token 的 header 参数,并将其作为全局操作参数添加到 Docket 中。这样,对于所有接口,都会自动添加一个 token 参数。
另外,该配置类还设置了 API 文档的标题和版本号,并指定只扫描标注了 @RestController 注解的类。
需要注意的是,这里的 token 参数是可选的,即 required(false),如果需要对所有接口进行认证,应该将其设置为 required(true)。
相关问题
Access denied for user 'admin'@'host.docker.internal' (using password: NO)
Access denied for user 'admin'@'host.docker.internal' (using password: NO) 是一个MySQL数据库连接错误。这个错误意味着连接到MySQL数据库时,使用了不正确的用户名、密码或者是没有提供密码。
要解决这个问题,首先需要确保提供的用户名和密码是正确的。如果你没有为用户'admin'设置密码,那么使用(using password: NO)来连接是正确的。如果你设置了密码,那么需要在连接时提供正确的密码。
此外,还需要确保你的主机和数据库之间的网络连接是正常的,并且数据库服务器正在运行。可以尝试使用ping命令来测试主机是否可达。
如果你使用的是Docker容器中的MySQL数据库,还需要确认容器的网络设置是否正确,包括容器的网络连接和容器内部的MySQL配置。
综上所述,要解决Access denied for user 'admin'@'host.docker.internal' (using password: NO)错误,你需要确保提供正确的用户名和密码,检查网络连接是否正常,并确保数据库服务器正在运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Error: ER_ACCESS_DENIED_ERROR: Access denied for user ‘admin‘@‘localhost‘ (using password: YES)](https://blog.csdn.net/Sivan_C/article/details/116584157)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Docker入门](https://blog.csdn.net/weixin_45688268/article/details/125128616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
[root@localhost ~]# sudo systemctl stop docker Warning: Stopping docker.service, but it can still be activated by: docker.socket
根据您提供的信息,当您尝试停止 Docker 服务时,出现了一个警告消息,指出 Docker 服务仍然可以通过 `docker.socket` 激活。
这是因为 Docker 使用了一个名为 `docker.socket` 的 systemd 套接字单元来激活 Docker 服务。当您停止 `docker.service` 单元时,套接字单元仍然处于激活状态,可以重新启动 Docker 服务。
要完全停止 Docker 服务,您可以执行以下两个步骤:
1. 停止 `docker.service` 单元:
```shell
sudo systemctl stop docker.service
```
2. 禁用 `docker.socket` 单元,以防止其重新激活 Docker 服务:
```shell
sudo systemctl disable docker.socket
```
执行以上命令后,Docker 服务将被完全停止,并且不会因为 `docker.socket` 的存在而重新激活。
请记住,在禁用 `docker.socket` 后,如果您需要再次启用 Docker 服务,您将需要手动启动 `docker.service` 单元。
希望这可以帮助您解决问题。如果您有任何其他疑问,请随时提问。