|  |  |  | 
|---|
|  |  |  | package com.ruoyi.gateway.handler; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Optional; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.http.HttpStatus; | 
|---|
|  |  |  | import org.springframework.http.ResponseEntity; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RestController; | 
|---|
|  |  |  | import reactor.core.publisher.Mono; | 
|---|
|  |  |  | import springfox.documentation.swagger.web.SecurityConfiguration; | 
|---|
|  |  |  | import springfox.documentation.swagger.web.SecurityConfigurationBuilder; | 
|---|
|  |  |  | import springfox.documentation.swagger.web.SwaggerResourcesProvider; | 
|---|
|  |  |  | import springfox.documentation.swagger.web.UiConfiguration; | 
|---|
|  |  |  | import springfox.documentation.swagger.web.UiConfigurationBuilder; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/swagger-resources") | 
|---|
|  |  |  | public class SwaggerHandler | 
|---|
|  |  |  | { | 
|---|
|  |  |  | @Autowired(required = false) | 
|---|
|  |  |  | private SecurityConfiguration securityConfiguration; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired(required = false) | 
|---|
|  |  |  | private UiConfiguration uiConfiguration; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final SwaggerResourcesProvider swaggerResources; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | public SwaggerHandler(SwaggerResourcesProvider swaggerResources) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | this.swaggerResources = swaggerResources; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/configuration/security") | 
|---|
|  |  |  | public Mono<ResponseEntity<SecurityConfiguration>> securityConfiguration() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return Mono.just(new ResponseEntity<>( | 
|---|
|  |  |  | Optional.ofNullable(securityConfiguration).orElse(SecurityConfigurationBuilder.builder().build()), | 
|---|
|  |  |  | HttpStatus.OK)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/configuration/ui") | 
|---|
|  |  |  | public Mono<ResponseEntity<UiConfiguration>> uiConfiguration() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return Mono.just(new ResponseEntity<>( | 
|---|
|  |  |  | Optional.ofNullable(uiConfiguration).orElse(UiConfigurationBuilder.builder().build()), HttpStatus.OK)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @SuppressWarnings("rawtypes") | 
|---|
|  |  |  | @GetMapping("") | 
|---|
|  |  |  | public Mono<ResponseEntity> swaggerResources() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return Mono.just((new ResponseEntity<>(swaggerResources.get(), HttpStatus.OK))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //package com.ruoyi.gateway.handler; | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //import java.util.Optional; | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | //import org.springframework.http.HttpStatus; | 
|---|
|  |  |  | //import org.springframework.http.ResponseEntity; | 
|---|
|  |  |  | //import org.springframework.web.bind.annotation.GetMapping; | 
|---|
|  |  |  | //import org.springframework.web.bind.annotation.RequestMapping; | 
|---|
|  |  |  | //import org.springframework.web.bind.annotation.RestController; | 
|---|
|  |  |  | //import reactor.core.publisher.Mono; | 
|---|
|  |  |  | //import springfox.documentation.swagger.web.SecurityConfiguration; | 
|---|
|  |  |  | //import springfox.documentation.swagger.web.SecurityConfigurationBuilder; | 
|---|
|  |  |  | //import springfox.documentation.swagger.web.SwaggerResourcesProvider; | 
|---|
|  |  |  | //import springfox.documentation.swagger.web.UiConfiguration; | 
|---|
|  |  |  | //import springfox.documentation.swagger.web.UiConfigurationBuilder; | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //@RestController | 
|---|
|  |  |  | //@RequestMapping("/swagger-resources") | 
|---|
|  |  |  | //public class SwaggerHandler { | 
|---|
|  |  |  | //   private final SwaggerResourcesProvider swaggerResources; | 
|---|
|  |  |  | //   @Autowired(required = false) | 
|---|
|  |  |  | //   private SecurityConfiguration securityConfiguration; | 
|---|
|  |  |  | //   @Autowired(required = false) | 
|---|
|  |  |  | //   private UiConfiguration uiConfiguration; | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //   @Autowired | 
|---|
|  |  |  | //   public SwaggerHandler(SwaggerResourcesProvider swaggerResources) { | 
|---|
|  |  |  | //      this.swaggerResources = swaggerResources; | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //   @GetMapping("/configuration/security") | 
|---|
|  |  |  | //   public Mono<ResponseEntity<SecurityConfiguration>> securityConfiguration() { | 
|---|
|  |  |  | //      return Mono.just(new ResponseEntity<>( | 
|---|
|  |  |  | //            Optional.ofNullable(securityConfiguration).orElse(SecurityConfigurationBuilder.builder().build()), | 
|---|
|  |  |  | //            HttpStatus.OK)); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //   @GetMapping("/configuration/ui") | 
|---|
|  |  |  | //   public Mono<ResponseEntity<UiConfiguration>> uiConfiguration() { | 
|---|
|  |  |  | //      return Mono.just(new ResponseEntity<>( | 
|---|
|  |  |  | //            Optional.ofNullable(uiConfiguration).orElse(UiConfigurationBuilder.builder().build()), HttpStatus.OK)); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //   @SuppressWarnings("rawtypes") | 
|---|
|  |  |  | //   @GetMapping("") | 
|---|
|  |  |  | //   public Mono<ResponseEntity> swaggerResources() { | 
|---|
|  |  |  | //      return Mono.just((new ResponseEntity<>(swaggerResources.get(), HttpStatus.OK))); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | //} | 
|---|