java - 尝试 resttemplate getforobject 时出现 404 错误
问题描述
我有与产品服务一起使用以获取数据(微服务)的目录服务。当我尝试在目录服务中创建 getForObject 时,出现错误 404。
@RestController
@RequestMapping("/catalog")
public class ProductCatalogApi {
@Autowired
private RestTemplate restTemplate;
@GetMapping("")
public String hello(){
return "Heelloooo";
}
@GetMapping("/{category}")
public void getProductsByCategoryName(@PathVariable String category) {
UserProduct userProduct = restTemplate.getForObject(
"http://shop-product-service/shop/products" + category,
UserProduct.class);
System.out.println("dsdasa--------"+ userProduct);
}
这是我的产品服务:
@RestController
@RequestMapping("/shop")
public class ProductController {
@Autowired
ProductRepository productRepository;
@GetMapping("/all")
public List<Product> index(){
return productRepository.findAll();
}
@GetMapping("/product/{id_product}")
public Optional<Product> showByProductId(@PathVariable String id_product){
return productRepository.findById(id_product);
}
@GetMapping("/products/{category}")
public List<Product> showByCategoryName(@PathVariable String category){
return productRepository.findByCategory(category);
}
}
因此,当我尝试创建此链接时:http://localhost:8082/catalog/electronics,我收到错误,请帮助我。
解决方案
您在 ProductCatalogApi 类中丢失了字符“/”:
restTemplate.getForObject(" http://shop-product-service/shop/products " + category, UserProduct.class);
http://shop-product-service/shop/products => http://shop-product-service/shop/products/
推荐阅读
- scala - 在 EMR Notebooks 中添加外部 jar
- javascript - RxJS Subject 从来没有推送过第一个 next
- .net - WebBrowser 控件未连接到或呈现 SharePoint 网站
- c# - 如何在运行时通过代码添加迁移
- python - matplotlib 中的对数比例图为零值
- reactjs - 在反应js中使用语义ui的“ui grid”类在多列中显示内容的问题
- kubernetes - Jager 与 istio
- spring-boot - 如何在 Logback 的 Logstash 编码器中使用来自配置服务器的 Spring 环境值
- javascript - 传单:TypeError L.markerClusterGroup 不是函数
- go - 将缓冲区绘制到屏幕时绑定不匹配(golang.org/x/exp/shiny/screen)