提交 85b264a0 authored 作者: huangxingyao's avatar huangxingyao

.

上级 ade35ff3
package com.bookinfo.client;
public interface RatingsClient {
Object getRatings(int idProduct);
}
...@@ -3,5 +3,5 @@ package com.bookinfo.client; ...@@ -3,5 +3,5 @@ package com.bookinfo.client;
import java.util.List; import java.util.List;
public interface ReviewsClient { public interface ReviewsClient {
List<Object> getReviews(int idProduct); List<Object> getReviews(int idProduct, String endUser);
} }
package com.bookinfo.client.impl;
import com.bookinfo.client.RatingsClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@Service
public class RatingsClientImpl implements RatingsClient {
@Autowired
private RestTemplate restTemplate;
@Value("${ratingsHostname}")
private String ratingsHostname;
@Override
public Object getRatings(int idProduct) {
return null;
}
}
...@@ -3,6 +3,9 @@ package com.bookinfo.client.impl; ...@@ -3,6 +3,9 @@ package com.bookinfo.client.impl;
import com.bookinfo.client.ReviewsClient; import com.bookinfo.client.ReviewsClient;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestClientException;
...@@ -20,8 +23,16 @@ public class ReviewsClientImpl implements ReviewsClient { ...@@ -20,8 +23,16 @@ public class ReviewsClientImpl implements ReviewsClient {
private String reviewsHostname; private String reviewsHostname;
@Override @Override
public List<Object> getReviews(int idProduct) throws RestClientException { public List<Object> getReviews(int idProduct, String endUser) throws RestClientException {
ResponseEntity<Object[]> responseEntity = restTemplate.getForEntity(reviewsHostname + "/reviews/" + idProduct, Object[].class);
// build http headers
HttpHeaders headers = new HttpHeaders();
headers.add("end-user",endUser);
HttpEntity<String> stringHttpEntity = new HttpEntity<>(headers);
ResponseEntity<Object[]> responseEntity = restTemplate.exchange(reviewsHostname + "/reviews/" + idProduct, HttpMethod.GET, stringHttpEntity, Object[].class);
Object[] reviews = responseEntity.getBody(); Object[] reviews = responseEntity.getBody();
return (reviews !=null)? Arrays.asList(reviews):new ArrayList<>(); return (reviews !=null)? Arrays.asList(reviews):new ArrayList<>();
} }
......
package com.bookinfo.rest; package com.bookinfo.rest;
import com.bookinfo.client.DetailsClient; import com.bookinfo.client.DetailsClient;
import com.bookinfo.client.RatingsClient;
import com.bookinfo.client.ReviewsClient; import com.bookinfo.client.ReviewsClient;
import com.bookinfo.entity.Product; import com.bookinfo.entity.Product;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -23,8 +22,6 @@ public class ProductPageController { ...@@ -23,8 +22,6 @@ public class ProductPageController {
private DetailsClient detailsClient; private DetailsClient detailsClient;
@Autowired @Autowired
private ReviewsClient reviewsClient; private ReviewsClient reviewsClient;
@Autowired
private RatingsClient ratingsClient;
@GetMapping("/health") @GetMapping("/health")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论