Конфигурирование Swagger2 с пружинной загрузкой - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь интегрировать swagger2 с моим приложением весенней загрузки, но когда я пытаюсь открыть страницу swagger-ui в браузере, на консоли выдается следующая ошибка:

Устранено исключение, вызванное обработчикомвыполнение: org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: не удалось преобразовать значение типа 'java.lang.String' в требуемый тип 'int';вложенное исключение - java.lang.NumberFormatException: для входной строки: "swagger-ui.html"

Вот мой класс SwaggerConfig:

@EnableSwagger2
@PropertySource("classpath:swagger.properties")
@ComponentScan(basePackageClasses = TestController.class)
@Configuration
public class SwaggerConfiguration {
   private static final String SWAGGER_API_VERSION="1.0";
   private static final String LICENSE_TEXT ="License";
   private static final String title ="Merchant API";
   private static final  String description ="Restful APIs for merchant";

   private ApiInfo apiInfo(){
       return  new ApiInfoBuilder()
               .title(title)
               .description(description)
               .license(LICENSE_TEXT)
               .version(SWAGGER_API_VERSION)
               .build();
   }
   @Bean
   public Docket merchantApi(){
       return  new Docket(DocumentationType.SWAGGER_2)
               .apiInfo(apiInfo())
               .pathMapping("/")
               .select()
               .build();
   }
}

Вот мой класс контроллера:

@RestController
@RequestMapping("/test")
@Api(value="MerchantControllerAPI",produces = MediaType.APPLICATION_JSON_VALUE)
public class TestController {

    @RequestMapping(path="{/id}", method = RequestMethod.GET)
    @GetMapping("/")
    @ApiOperation("Testing")
    @ApiResponses(value={@ApiResponse(code=200, message="Ok",response=String.class )})
    public String getSomething(@PathVariable("id") String id){
        return "HelloWorld";
    }
}

Я следую этому учебнику .Кто-нибудь здесь, кто сталкивался с подобной проблемой?Пожалуйста, помогите мне.

Цитата

1 Ответ

0 голосов
/ 21 мая 2018

Пожалуйста, удалите @PropertySource ("classpath: swagger.properties")

и измените ваш TestController, как показано ниже

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/test")
@Api(value = "MerchantControllerAPI", produces = MediaType.APPLICATION_JSON_VALUE)
public class TestController {

    @RequestMapping(path = "/{id}", method = RequestMethod.GET)
    @GetMapping("/")
    @ApiOperation("Testing")
    @ApiResponses(value = {@ApiResponse(code = 200, message = "Ok", response = String.class)})
    public String getSomething(@PathVariable("id") String id) {
        return "HelloWorld";
    }
}
...