Значение по умолчанию принимается как (пустое) для строки в swagger, хотя я дал значение по умолчанию

Я пытаюсь интегрировать Swagger с моим проектом.

Я дал зависимости в pom, скопировал папку dist из swagger в мою рабочую область.

<repositories>
    <repository>
        <id>oss-jfrog-artifactory</id>
        <name>oss-jfrog-artifactory-releases</name>
        <url>http://oss.jfrog.org/artifactory/oss-release-local</url>
    </repository>
</repositories> 

<dependency>
        <groupId>com.mangofactory</groupId>
        <artifactId>swagger-springmvc</artifactId>
        <version>0.8.8</version>
    </dependency>
    <dependency>
        <groupId>org.ajar</groupId>
        <artifactId>swagger-spring-mvc-ui</artifactId>
        <version>0.1</version>
        <scope>compile</scope>
    </dependency>

Я не создал класс конфигурации Swagger, но добавил их в контексте приложения.

<mvc:default-servlet-handler/>
<context:annotation-config />
<mvc:annotation-driven/>
<bean name="springSwaggerConfig" class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />

<bean id="swaggerSpringMvcPlugin" class="com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin">
    <constructor-arg ref="springSwaggerConfig"></constructor-arg> 
</bean>

Мой API принимает переменную пути и дает мне ответ. Это пример API

@ApiOperation(value="This is the test API")
    @RequestMapping(value = "sayHello/{userName}", method = RequestMethod.GET)
    public @ResponseBody String testAPI(@ApiParam(defaultValue="xyz", required=true) @PathVariable String userName){
        return "Hello" + userName; 
    }   

Несмотря на то, что я дал значение по умолчанию, оно не принимает значение, а принимает его как (пустое).

При попытке проверить запрос и ответ на чванство не отображается текстовое поле против значения и кнопка "Попробуйте".

Пожалуйста, дайте мне знать, что нужно сделать, чтобы решить проблему.

1 ответ

Вы не можете установить значение по умолчанию для PathVariable в Spring MVC, потому что не будет никакого способа отличить запрос с пустой переменной пути от запроса, содержащего значение по умолчанию, поэтому сопоставления не будут совпадать.

Что касается отсутствующего поля ввода, вы должны установить следующие атрибуты для вашей аннотации

@ApiParam(required=true, paramType = "path") @PathVariable String userName
Другие вопросы по тегам