Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring boot和springfox-swagger2-$ref值必须符合RFC3986百分比编码URI-提供解决方案_Java_Spring Boot_Swagger Ui_Swagger 2.0 - Fatal编程技术网

Java Spring boot和springfox-swagger2-$ref值必须符合RFC3986百分比编码URI-提供解决方案

Java Spring boot和springfox-swagger2-$ref值必须符合RFC3986百分比编码URI-提供解决方案,java,spring-boot,swagger-ui,swagger-2.0,Java,Spring Boot,Swagger Ui,Swagger 2.0,如果您使用的是springfox-swagger2库,那么在泛型类型方面可能会遇到问题。在使用菱形括号的情况下,Swagger将生成无效规范,导致Swagger编辑器中出现验证错误(“$ref值必须是符合RFC3986的百分比编码URI”) 您得到的错误可能如下所示: 路径处的语义错误。/v1/car.post.parameters.0.schema.$ref $ref值必须是符合RFC3986的百分比编码URI 跳到45号线 我在下面找到的问题的解决方案 默认情况下,带有泛型的类型将标记为“\

如果您使用的是springfox-swagger2库,那么在泛型类型方面可能会遇到问题。在使用菱形括号的情况下,Swagger将生成无效规范,导致Swagger编辑器中出现验证错误(“$ref值必须是符合RFC3986的百分比编码URI”)

您得到的错误可能如下所示:

路径处的语义错误。/v1/car.post.parameters.0.schema.$ref $ref值必须是符合RFC3986的百分比编码URI 跳到45号线


我在下面找到的问题的解决方案

默认情况下,带有泛型的类型将标记为“\u00ab”()和逗号。这可能是问题的东西,如招摇过市codegen。您可以通过实现自己的GenericTypeNamingStrategy来覆盖此行为。例如,如果您希望将列表编码为“ListOfString”,并将映射编码为“MapOfStringAndObject”,则可以在插件自定义期间将forCodeGeneration自定义选项设置为true:
docket.forcode生成(真|假)

下面是一个添加了更改的摘要配置示例:

@Configuration    
@EnableSwagger2
public class CommonConfiguration {

   @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .useDefaultResponseMessages(false)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build()
                .enableUrlTemplating(false)
                .forCodeGeneration(true);
    }
}

问一个问题,然后自己回答是可以的。从您发布的内容来看,不清楚原始配置和摘要的哪一部分是解决方案。@opticyclic已接受,因此更新了答案。谢谢我对你的问题投了赞成票,但我的意思是你把你的问题作为一个问题,然后你在下面添加解决方案作为一个答案,否则搜索时看起来就没有答案了。