У меня есть 3 службы: пользовательская, продуктовая и налоговая. . во всех них есть userId, ProductId и TaxId. каждый из них уникален и создан только в своем собственном сервисе.
Теперь я пытаюсь отобразить данные для всех пользователей, где у них может быть несколько объектов недвижимости, но с каждым объектом недвижимости связан только один налог. . Поэтому я создал все в соответствии с ним.
Это мой предыдущий пост, который я обновил в соответствии с потребностями:
текст
Только добавление отредактированные части, мой UserServiceImpl
Код: Выделить всё
@Override
public List getUser() {
List users = this.userRepository.findAll();
//Hotel hotel = hotelService.getHotel(rating.getHotelId());
List userDtos = users.stream().map(user -> {
UserDto userDto = this.usersTouserDto(user);
// Fetching properties for this user using property_ID
List
propertyDtos = this.property_service.getPropertyById(user.getPropertyId());
logger.info("Info of Property ID : ", propertyDtos);
userDto.setPropertiesDto(propertyDtos); // Set properties in UserDto
// Fetch tax data for each property
List taxDtos = propertyDtos.stream().map(property -> {
return this.tax_service.getTaxById(property.getTaxId());
}).collect(Collectors.toList());
logger.info("Info of Property ID : ", taxDtos);
userDto.setTaxesDto(taxDtos); // Set taxes in UserDto
return userDto; //returning the value
}).collect(Collectors.toList());
return userDtos;
}
Код: Выделить всё
@FeignClient(name = "property-data-management")
public interface Property_Management_Service {
// list all property data by property id
@GetMapping("api/property/v1/property/{propertyId}")
List
getPropertyById(@PathVariable String propertyId);
}
Код: Выделить всё
{
"timestamp": "2024-09-28T07:08:17.287+00:00",
"status": 500,
"error": "Internal Server Error",
"trace": "feign.RetryableException: C o n n e c t t i m e d o u t e x e c u t i n g G E T h t t p : / / p r o p e r t y - d a t a - m a n a g e m e n t / a p i / p r o p e r t y / v 1 / p r o p e r t y / 7 8 j k 5 3 8 s f 5 5 \ r \ n \ t a t f e i g n . F e i g n E x c e p t i o n . e r r o r E x e c u t i n g ( F e i g n E x c e p t i o n . j a v a : 2 7 8 ) \ r \ n \ t a t f e i g n . S y n c h r o n o u s M e t h o d H a n d l e r . e x e c u t e A n d D e c o d e ( S y n c h r o n o u s M e t h o d H a n d l e r . j a v a : 1 1 0 ) \ r \ n \ t a t f e i g n . S y n c h r o n o u s M e t h o d H a n d l e r . i n v o k e ( S y n c h r o n o u s M e t h o d H a n d l e r . j a v a : 7 0 ) \ r \ n \ t a t f e i g n . R e f l e c t i v e F e i g n $ F e i g n I n v o c a t i o n H a n d l e r . i n v o k e ( R e f l e c t i v e F e i g n . j a v a : 9 9 ) \ r \ n \ t a t j d k . p r o x y 4 / j d k . p r o x y 4 . $ P r o x y 1 6 7 . g e t P r o p e r t y B y I d ( U n k n o w n S o u r c e ) \ r \ n \ t a t c o m . u s e r _ d m . U M . s e r v i c e s . U s e r S e r v i c e I m p l . l a m b d a $ 0 ( U s e r S e r v i c e I m p l . j a v a : 6 1 ) \ r \ n \ t a t j a v a . b a s e / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e $ 3 $ 1 . a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 1 9 7 ) \ r \ n \ t a t j a v a . b a s e / j a v a . u t i l . A r r a y L i s t $ A r r a y L i s t S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( A r r a y L i s t . j a v a : 1 7 0 8 ) \ r \ n \ t a t j a v a . b a s e / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . c o p y I n t o ( A b s t r a c t P i p e l i n e . j a v a : 5 0 9 ) \ r \ n \ t a t j a v a . b a s e / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . w r a p A n d C o p y I n t o ( A b s t r a c t P i p e l i n e . j a v a : 4 9 9 ) \ r \ n \ t a t j a v a . b a s e / j a v a . u t i l . s t r e a m . R e d u c e O p s $ R e d u c e O p . e v a l u a t e S e q u e n t i a l ( R e d u c e O p s . j a v a : 9 2 1 ) \ r \ n \ t a t j a v a . b a s e / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . e v a l u a t e ( A b s t r a c t P i p e l i n e . j a v a : 2 3 4 ) \ r \n\tat java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n\tat com.user_dm.UM.services.UserServiceImpl.getUser(UserServiceImpl.java:77)\r\n\tat com.user_dm.UM.controllers.UserController.getAllUsers(UserController.java:45)\r\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)\r\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:580)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)\r\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\r\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)\r\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:904)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)\r\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)\r\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\r\nCaused by: java.net.SocketTimeoutException: Connect timed out\r\n\tat java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)\r\n\tat java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)\r\n\tat java.base/java.net.Socket.connect(Socket.java:751)\r\n\tat java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)\r\n\tat java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)\r\n\tat java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)\r\n\tat java.base/sun.net.www.http.HttpClient.(HttpClient.java:280)\r\n\tat java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386)\r\n\tat java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408)\r\n\tat java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1304)\r\n\tat java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237)\r\n\tat java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1123)\r\n\tat java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1052)\r\n\tat java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1675)\r\n\tat java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1599)\r\n\tat java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:531)\r\n\tat feign.Client$Default.convertResponse(Client.java:111)\r\n\tat feign.Client$Default.execute(Client.java:107)\r\n\tat org.springframework.cloud.openfeign.loadbalancer.LoadBalancerUtils.executeWithLoadBalancerLifecycleProcessing(LoadBalancerUtils.java:56)\r\n\tat org.springframework.cloud.openfeign.loadbalancer.LoadBalancerUtils.executeWithLoadBalancerLifecycleProcessing(LoadBalancerUtils.java:91)\r\n\tat org.springframework.cloud.openfeign.loadbalancer.FeignBlockingLoadBalancerClient.execute(FeignBlockingLoadBalancerClient.java:134)\r\n\tat feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:100)\r\n\t... 61 more\r\n",
"message": "Connect timed out executing GET http://property-data-management/api/property/v1/property/78jk538sf55",
"path": "/api/user/v1/users"
}
Но когда появляется localhost:8761/eureka, я ясно вижу

для моего :::: 192.168.1. 1.44: Управление данными пользователя: 8082
192.168.1.44 Я сделал адрес сервера как 0.0.0.0 в файле свойств моего приложения.
И даже когда я индивидуально нажимаю API в почтальоне, я получаю правильный ответ.
Подробнее здесь: https://stackoverflow.com/questions/790 ... stryeureka
Мобильная версия