项目搭建---Swagger

Swagger的搭建

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

配置 SwaggerConfig 的配置文件 — @EnableSwagger2 这个注解一定要开启,否则无法生成 Swagger 的接口文档

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SPRING_WEB)
                .apiInfo(apiInfo())
                //通过.select()方法,去配置扫描接口
                .select()
                //RequestHandlerSelectors配置如何扫描接口
                .apis(RequestHandlerSelectors.basePackage("包名"))
                // 配置如何通过path过滤,即这里只扫描请求以/news开头的接口
                .paths(PathSelectors.any())
                .build();
    }
    //配置文档信息
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("基于xxx云平台")
                .description("全部接口")
                .contact(new Contact("xxx", "http://xxx.xxx.com/联系人访问链接", "联系人邮箱"))
                .version("0.2")
                .build();
    }
}

同时项目中的 application.yml 文件也需要配置一个属性

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher #启动Swagger2要配置的

说几个 Swagger 的注解 — @Api @ApiOperation ** 使用的最多的就是这两个注解用在 controller** 里面

@Api(tags = "用户登录注册接口")
@RestController
public class SecurityController {
    @Autowired
    private LoginAndLogoutServiceImpl loginAndLogoutService;

    @Autowired
    private UserRegisterServiceImpl userRegisterService;

    @Autowired
    private UserMapper userMapper;

    @ApiOperation("用户登录")
    @PostMapping("/login")
    public Result login(@RequestParam("username") String username, @RequestParam("password") String password,
                        HttpServletResponse response){
        response.setHeader("Access-Control-Allow-Origin","*");
        Result result = loginAndLogoutService.login(username, password);
        return result;
    }

    @ApiOperation("用户退出登录")
    @DeleteMapping("/logout")
    public Result logout(HttpServletResponse response){
        response.setHeader("Access-Control-Allow-Origin","*");
        Result result = loginAndLogoutService.logout();
        return result;
    }

    @ApiOperation("用户注册")
    @PostMapping("/register")
    public Result register(@RequestParam("username") String username, @RequestParam("password") String password,
                           @RequestParam("identityCard") String identityCard, @RequestParam("gender") String gender,
                           @RequestParam("location") String location, @RequestParam("userImage") String userImage,
                           @RequestParam("phoneNumber") String phoneNumber,@RequestParam("role") String role,
                           HttpServletResponse response){

        response.setHeader("Access-Control-Allow-Origin","*");
        Result result = userRegisterService.userRegister(username, password, identityCard, gender, location, userImage, phoneNumber, role);
        return result;
    }

    @GetMapping("/getUserInformation")
    public Result getUserInformation(HttpServletResponse response, HttpServletRequest request){

        response.setHeader("Access-Control-Allow-Origin","*");

        Result userInformation = userRegisterService.getUserInformation(request);
        return userInformation;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是详细步骤: 1. 创建一个新的 Spring Boot 项目。 2. 在 `pom.xml` 文件中添加对 MyBatis、Swagger 和 Nacos 的依赖: ```xml <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <!-- Nacos --> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>1.4.0</version> </dependency> ``` 3. 配置 MyBatis 和数据源,在 `application.properties` 文件中添加以下配置: ```properties # MyBatis mybatis.mapper-locations=classpath*:mapper/*.xml # 数据源 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 4. 配置 Swagger,创建一个 `SwaggerConfig` 类: ```java @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Swagger API") .description("Swagger API 文档") .version("1.0.0") .build(); } } ``` 5. 配置 Nacos,创建一个 `NacosConfig` 类: ```java @Configuration public class NacosConfig { @Value("${spring.cloud.nacos.discovery.server-addr}") private String serverAddr; @Value("${spring.application.name}") private String appName; @Bean public void init() { Properties properties = new Properties(); properties.put("serverAddr", serverAddr); NacosConfigService configService = NacosFactory.createConfigService(properties); try { String content = configService.getConfig(appName, "DEFAULT_GROUP", 5000); // 解析配置内容 } catch (NacosException e) { e.printStackTrace(); } } } ``` 注意,上面的代码中使用了 `@Value` 注解,需要在 `application.properties` 文件中添加以下配置: ```properties # Nacos spring.cloud.nacos.discovery.server-addr=localhost:8848 spring.cloud.nacos.discovery.namespace= spring.cloud.nacos.config.namespace= spring.cloud.nacos.config.group=DEFAULT_GROUP spring.cloud.nacos.config.file-extension=properties ``` 至此,你已经成功搭建了一个 Spring Boot 项目,并且集成了 MyBatis、Swagger 和 Nacos。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值