伙伴匹配系统踩坑日记6

伙伴匹配系统踩坑日记6

image-20240811003743350

如图,点击左上角返回按钮之后就回到主页了。显然不对

image-20240811003709981

查看逻辑路由变化是

    const onClickLeft = () =>{
      router.push('/')
    }

改成

    const onClickLeft = () =>{
      router.back()
    }

knife4j导入不上,一直报错

  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

原先的配置

@Configuration // 标明是配置类
@EnableSwagger2WebMvc
public class SwaggerConfig {
    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        return new Docket(DocumentationType.SWAGGER_2)  // DocumentationType.SWAGGER_2 固定的,代表swagger2
//                .groupName("分布式任务系统") // 如果配置多个文档的时候,那么需要配置groupName来分组标识
                .apiInfo(apiInfo()) // 用于生成API信息
                .select() // select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档
                .apis(RequestHandlerSelectors.basePackage("com.haole.usercenter.controller")) // 用于指定扫描哪个包下的接口
                .paths(PathSelectors.any())// 选择所有的API,如果你想只为部分API生成文档,可以配置这里
                .build();
    }

    /**
     * 用于定义API主界面的信息,比如可以声明所有的API的总标题、描述、版本
     * @return
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("乐米米伙伴匹配系统") //  可以用来自定义API的主标题
                .description("接口文档") // 可以用来描述整体的API
                .termsOfServiceUrl("https://github.com/haoleliu") // 用于定义服务的域名
                .contact(new Contact("vastjoy","https://github.com/haoleliu","2874511255@qq.com"))
                .version("1.0") // 可以用来定义版本。
                .build(); //
    }
}

由于我用的springboot 3.3.1,根据knife4j官方文档,应该使用新版的4.4.0的knife4j

image-20240812004956229

不过皮总用的是2.0.7的,所以先用着,换版本换了很多次都没有成功,最后复制了一下皮总的代码,然后运行成功了。

package com.haole.usercenter.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

/**
 * 自定义 Swagger 接口文档的配置
 *
 * @author <a href="https://github.com/liyupi">程序员鱼皮</a>
 * @from <a href="https://yupi.icu">编程导航知识星球</a>
 */
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig {

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                // 这里一定要标注你控制器的位置
                .apis(RequestHandlerSelectors.basePackage("com.haole.usercenter.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    // [加入编程导航](https://t.zsxq.com/0emozsIJh) 深耕编程提升【两年半】、国内净值【最高】的编程社群、用心服务【20000+】求学者、帮你自学编程【不走弯路】

    /**
     * api 信息
     * @return
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("乐米米伙伴匹配系统") //  可以用来自定义API的主标题
                .description("接口文档") // 可以用来描述整体的API
                .termsOfServiceUrl("https://github.com/haoleliu") // 用于定义服务的域名
                .contact(new Contact("vastjoy","https://github.com/haoleliu","2874511255@qq.com"))
                .version("1.0") // 可以用来定义版本。
                .build(); //
    }
}

搞不了还是报错

找到别人写的好的springboot 3.x+knife4j https://blog.csdn.net/qq_73440769/article/details/137028839

package com.haole.usercenter.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {

    @Bean
    public GroupedOpenApi adminApi() {
        return GroupedOpenApi.builder()
                .group("管理端接口")
                .pathsToMatch("/admin/**") // 根据你的实际路径进行配置
                .build();
    }

    @Bean
    public GroupedOpenApi userApi() {
        return GroupedOpenApi.builder()
                .group("C端接口")
                .pathsToMatch("/user/**") // 根据你的实际路径进行配置
                .build();
    }
    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("接口文档")
                        //描叙
                        .description("接口文档")
                        //版本
                        .version("v1")
                        //作者信息,自行设置
                        .contact(new Contact().name("bluefoxyu"))
                        //设置接口文档的许可证信息
                        .license(new License().name("Apache 2.0").url("http://springdoc.org")));
    }

}

访问localhost:8080/api/doc.html成功了

image-20240812011821267

posted @ 2024-08-18 23:24  vast_joy  阅读(45)  评论(0)    收藏  举报