Swagger UI не показывает параметры - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть Spring-приложение (2.1.0.RELEASE) и добавлены Swagger и Swagger-UI (2.9.2).

У меня есть класс SwaggerConfig, который я скопировал из Учебное пособие по Baeldung

Затем существует класс App:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableAutoConfiguration
public class App
{
    public static void main(String[] args) throws Exception {
        SpringApplication.run(App.class, args);
    }
}

И есть фактический контроллер REST:

@RestController
public class TweetRating {

    @GetMapping("/{userid}/tweet")
    public static void getTweet(@PathVariable String userid){
        System.out.println("UserID: "+ userid);
    }

    @GetMapping("/")
    public static void isWorking(@RequestParam String id){
        System.out.println("ID: "+ id);
    }
}

Swagger-UI просто не будет показывать параметры методов.Ни PathVariable, ни RequestParam.Поэтому, конечно, функция «Попробуй» не имеет никакого смысла.Выглядит это так:

Снимок экрана 1 Снимок экрана 2

Почему и как я могу это решить?

1 Ответ

0 голосов
/ 14 ноября 2018

Попробуйте применить enableUrlTemplating (true) в вашем SwaggerConfig:

@Configuration
@EnableSwagger2
public class SwaggerConfig {                                    
    @Bean
    public Docket api() { 
        return new Docket(DocumentationType.SWAGGER_2)  
          .select()                                  
          .apis(RequestHandlerSelectors.any())              
          .paths(PathSelectors.any())  
          .enableUrlTemplating(true)                        
          .build();                                           
    }

Также попробуйте это:

@ApiOperation(value = "Dexcription of endpoint")
@RequestMapping
public String doSomething(@ApiParam(value = "Description of path vaiable")@PathVariable("/{code}")
...