From 4fb5062930cb3668110e19580e3b3d3b9196b838 Mon Sep 17 00:00:00 2001 From: Fagor Date: Thu, 29 Feb 2024 09:42:41 +0700 Subject: [PATCH] Add ResponseEntity> --- .../api/EstablishmentServiceClient.java | 8 ++- .../userservice/api/OrderServiceClient.java | 10 +-- .../WebClientsConfiguration.java | 72 ------------------- .../configuration/WebCorsConfiguration.java | 29 -------- .../repository/CompanyService.java | 4 +- .../service/EstablishmentServiceImpl.java | 2 +- .../userservice/service/OrderServiceImpl.java | 2 +- 7 files changed, 15 insertions(+), 112 deletions(-) delete mode 100644 src/main/java/ru/nsu/fit/directors/userservice/configuration/WebClientsConfiguration.java delete mode 100644 src/main/java/ru/nsu/fit/directors/userservice/configuration/WebCorsConfiguration.java diff --git a/src/main/java/ru/nsu/fit/directors/userservice/api/EstablishmentServiceClient.java b/src/main/java/ru/nsu/fit/directors/userservice/api/EstablishmentServiceClient.java index b2f5366..da974ef 100644 --- a/src/main/java/ru/nsu/fit/directors/userservice/api/EstablishmentServiceClient.java +++ b/src/main/java/ru/nsu/fit/directors/userservice/api/EstablishmentServiceClient.java @@ -6,12 +6,14 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import ru.nsu.fit.directors.userservice.dto.CompanyDto; import ru.nsu.fit.directors.userservice.dto.request.ReviewCreationDto; +import ru.nsu.fit.directors.userservice.dto.response.BaseResponse; import ru.nsu.fit.directors.userservice.dto.response.EstablishmentListDto; import ru.nsu.fit.directors.userservice.dto.response.ResponseReviewDto; import ru.nsu.fit.directors.userservice.model.Company; @@ -19,13 +21,13 @@ @FeignClient("establishment-service") public interface EstablishmentServiceClient { @RequestMapping(method = RequestMethod.GET, value = "/establishment", produces = MediaType.APPLICATION_JSON_VALUE) - Company getCompanyById(@RequestParam Long establishmentId); + ResponseEntity> getCompanyById(@RequestParam Long establishmentId); @RequestMapping(method = RequestMethod.GET, value = "/internal/establishment", produces = MediaType.APPLICATION_JSON_VALUE) - List getCompaniesByIds(@RequestParam List ids); + ResponseEntity>> getCompaniesByIds(@RequestParam List ids); @RequestMapping(method = RequestMethod.GET, value = "/establishment/all", produces = MediaType.APPLICATION_JSON_VALUE) - EstablishmentListDto searchEstablishments( + ResponseEntity> searchEstablishments( @RequestParam Optional name, @RequestParam Optional hasMap, @RequestParam Optional hasCardPayment, diff --git a/src/main/java/ru/nsu/fit/directors/userservice/api/OrderServiceClient.java b/src/main/java/ru/nsu/fit/directors/userservice/api/OrderServiceClient.java index d31c4fc..a970372 100644 --- a/src/main/java/ru/nsu/fit/directors/userservice/api/OrderServiceClient.java +++ b/src/main/java/ru/nsu/fit/directors/userservice/api/OrderServiceClient.java @@ -5,16 +5,18 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import ru.nsu.fit.directors.userservice.dto.response.BaseResponse; import ru.nsu.fit.directors.userservice.dto.response.ResponseOrderDto; @FeignClient("order-service") public interface OrderServiceClient { - @RequestMapping(method = RequestMethod.GET, value = "/order", produces = MediaType.APPLICATION_JSON_VALUE) - List getUserOrders(@RequestParam Long userId, @RequestParam Optional status); + @RequestMapping(method = RequestMethod.GET, value = "/order", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + ResponseEntity>> getUserOrders(@RequestParam Long userId, @RequestParam Optional status); - @RequestMapping(method = RequestMethod.GET, value = "/order/id", produces = MediaType.APPLICATION_JSON_VALUE) - ResponseOrderDto getOrderById(@RequestParam Long id); + @RequestMapping(method = RequestMethod.GET, value = "/order/id", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + ResponseEntity> getOrderById(@RequestParam Long id); } diff --git a/src/main/java/ru/nsu/fit/directors/userservice/configuration/WebClientsConfiguration.java b/src/main/java/ru/nsu/fit/directors/userservice/configuration/WebClientsConfiguration.java deleted file mode 100644 index f0113ff..0000000 --- a/src/main/java/ru/nsu/fit/directors/userservice/configuration/WebClientsConfiguration.java +++ /dev/null @@ -1,72 +0,0 @@ -package ru.nsu.fit.directors.userservice.configuration; - -import io.netty.channel.ChannelOption; -import io.netty.handler.timeout.ReadTimeoutHandler; -import io.netty.handler.timeout.WriteTimeoutHandler; -import org.springframework.cloud.client.loadbalancer.LoadBalanced; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.client.reactive.ReactorClientHttpConnector; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.netty.http.client.HttpClient; - -import java.util.concurrent.TimeUnit; - -@Configuration -public class WebClientsConfiguration { - public static final int TIMEOUT = 10000; - private static final int SIZE = 16 * 1024 * 1024; - - @Bean - @LoadBalanced - public WebClient.Builder establishmentClientBuilder() { - final ExchangeStrategies strategies = ExchangeStrategies.builder() - .codecs(codecs -> codecs.defaultCodecs().maxInMemorySize(SIZE)) - .build(); - - return WebClient.builder() - .baseUrl("http://establishment-service") - .clientConnector(getReactorClientHttpConnector()) - .exchangeStrategies(strategies); - } - - @Bean - @LoadBalanced - public WebClient.Builder orderClientBuilder() { - final ExchangeStrategies strategies = ExchangeStrategies.builder() - .codecs(codecs -> codecs.defaultCodecs().maxInMemorySize(SIZE)) - .build(); - return WebClient.builder() - .baseUrl("http://order-service") - .clientConnector(getReactorClientHttpConnector()) - .exchangeStrategies(strategies); - } - - @Bean - public WebClient vkApiClient() { - final ExchangeStrategies strategies = ExchangeStrategies.builder() - .codecs(codecs -> codecs.defaultCodecs().maxInMemorySize(SIZE)) - .build(); - return WebClient.builder() - .baseUrl("https://api.vk.com") - .clientConnector(getReactorClientHttpConnector()) - .exchangeStrategies(strategies) - .build(); - } - - - private ReactorClientHttpConnector getReactorClientHttpConnector() { - return new ReactorClientHttpConnector( - HttpClient.create() - .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, TIMEOUT) - .doOnConnected( - connection -> { - connection.addHandlerLast(new ReadTimeoutHandler(TIMEOUT, TimeUnit.MILLISECONDS)); - connection.addHandlerLast(new WriteTimeoutHandler(TIMEOUT, TimeUnit.MILLISECONDS)); - } - ) - ); - } - -} diff --git a/src/main/java/ru/nsu/fit/directors/userservice/configuration/WebCorsConfiguration.java b/src/main/java/ru/nsu/fit/directors/userservice/configuration/WebCorsConfiguration.java deleted file mode 100644 index 30c4b62..0000000 --- a/src/main/java/ru/nsu/fit/directors/userservice/configuration/WebCorsConfiguration.java +++ /dev/null @@ -1,29 +0,0 @@ -package ru.nsu.fit.directors.userservice.configuration; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.CorsConfigurationSource; -import org.springframework.web.cors.UrlBasedCorsConfigurationSource; - -import java.util.List; - -@Configuration -public class WebCorsConfiguration { - /* @Bean - public CorsConfigurationSource corsConfigurationSource() { - CorsConfiguration configuration = new CorsConfiguration(); - configuration.setAllowedOriginPatterns(List.of("*")); - configuration.setAllowedOrigins(List.of("http://localhost:10888")); - configuration.setAllowedMethods(List.of(CorsConfiguration.ALL)); - configuration.setExposedHeaders(List.of("*")); - configuration.setAllowCredentials(true); - configuration.setAllowedHeaders(List.of("*")); - configuration.setMaxAge(3600L); - UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); - source.registerCorsConfiguration("/**", configuration); - return source; - } - - */ -} diff --git a/src/main/java/ru/nsu/fit/directors/userservice/repository/CompanyService.java b/src/main/java/ru/nsu/fit/directors/userservice/repository/CompanyService.java index 790c25e..a5dbac4 100644 --- a/src/main/java/ru/nsu/fit/directors/userservice/repository/CompanyService.java +++ b/src/main/java/ru/nsu/fit/directors/userservice/repository/CompanyService.java @@ -14,10 +14,10 @@ public class CompanyService { private final EstablishmentServiceClient establishmentServiceClient; public Company getCompanyById(Long establishmentId) { - return establishmentServiceClient.getCompanyById(establishmentId); + return establishmentServiceClient.getCompanyById(establishmentId).getBody().getResult(); } public List getCompaniesByIds(List ids) { - return establishmentServiceClient.getCompaniesByIds(ids); + return establishmentServiceClient.getCompaniesByIds(ids).getBody().getResult(); } } diff --git a/src/main/java/ru/nsu/fit/directors/userservice/service/EstablishmentServiceImpl.java b/src/main/java/ru/nsu/fit/directors/userservice/service/EstablishmentServiceImpl.java index 98a4eaa..d21576d 100644 --- a/src/main/java/ru/nsu/fit/directors/userservice/service/EstablishmentServiceImpl.java +++ b/src/main/java/ru/nsu/fit/directors/userservice/service/EstablishmentServiceImpl.java @@ -29,7 +29,7 @@ public EstablishmentListDto getEstablishmentByParams(RequestGetEstablishmentPara Optional.ofNullable(parameters.hasMap()), Optional.ofNullable(parameters.hasCardPayment()), Optional.ofNullable(parameters.category()) - ); + ).getBody().getResult(); establishmentInfoList.establishments().forEach( info -> info.setFavourite(favouritesService.getFavouritesIds().contains(info.getId())) ); diff --git a/src/main/java/ru/nsu/fit/directors/userservice/service/OrderServiceImpl.java b/src/main/java/ru/nsu/fit/directors/userservice/service/OrderServiceImpl.java index f983295..ba7f99c 100644 --- a/src/main/java/ru/nsu/fit/directors/userservice/service/OrderServiceImpl.java +++ b/src/main/java/ru/nsu/fit/directors/userservice/service/OrderServiceImpl.java @@ -51,7 +51,7 @@ public void cancelOrder(Long orderId) { @Nonnull public List getOrders(@Nullable Integer status) { User loggedUser = securityService.getLoggedInUser(); - return orderServiceClient.getUserOrders(loggedUser.getId(), Optional.ofNullable(status)); + return orderServiceClient.getUserOrders(loggedUser.getId(), Optional.ofNullable(status)).getBody().getResult(); } @Override