[404] during [GET] to [http://userservice/user/1] [UserClient#findById(Long)]: [{"timestamp":"2023-06-05T13:11:46.263+00:00","status":404,"error":"Not Found","message":"","path":"/user/1"}]
时间: 2023-07-05 07:35:00 浏览: 110
这个错误表示客户端向服务端发起了一个GET请求,请求地址是"http://userservice/user/1",但是服务端没有找到对应的资源,返回了404状态码,告诉客户端该资源不存在。具体原因可能是服务端没有提供对应的接口、接口地址不正确、或者请求参数不正确等。客户端需要检查请求地址、请求参数等,确保请求的正确性,并根据服务端返回的信息进行调整。
相关问题
帮我改写以下代码,不要用servlet.代码为:@Controller public class CartController { @Autowired private UserService userService; @Autowired private CommodityService commodityService; @Autowired private CartService cartService; @GetMapping("/cart") public String cart(Model model, HttpServletRequest request) { HttpSession session = request.getSession(); User user = (User)session.getAttribute("user"); if (user == null) { return "redirect:/login"; } List<Cart> cartList = cartService.findByUid(user.getUid()); model.addAttribute("cartList", cartList); return "cart"; } @PostMapping("/cart/add") public String addCart(Integer cid, Integer cnum, HttpServletRequest request) { HttpSession session = request.getSession(); User user = (User)session.getAttribute("user"); if (user == null) { return "redirect:/login"; } Commodity commodity = commodityService.findById(cid); if (commodity == null) { return "redirect:/commodity"; } Cart cart = new Cart(); cart.setUid(user.getUid()); cart.setCid(cid); cart.setCnum(cnum); cartService.save(cart); return "redirect:/cart"; } @PostMapping("/cart/delete") public String deleteCart(Integer cartid) { cartService.deleteById(cartid); return "redirect:/cart"; }
以下是改写后的代码,使用了Spring Boot的@RestController注解和@ResponseBody注解来实现API风格的接口:
@RestController
public class CartController {
@Autowired
private UserService userService;
@Autowired
private CommodityService commodityService;
@Autowired
private CartService cartService;
@GetMapping("/cart")
public List<Cart> getCart(HttpServletRequest request) {
HttpSession session = request.getSession();
User user = (User)session.getAttribute("user");
if (user == null) {
return null;
}
List<Cart> cartList = cartService.findByUid(user.getUid());
return cartList;
}
@PostMapping("/cart/add")
public String addCart(Integer cid, Integer cnum, HttpServletRequest request) {
HttpSession session = request.getSession();
User user = (User)session.getAttribute("user");
if (user == null) {
return "redirect:/login";
}
Commodity commodity = commodityService.findById(cid);
if (commodity == null) {
return "redirect:/commodity";
}
Cart cart = new Cart();
cart.setUid(user.getUid());
cart.setCid(cid);
cart.setCnum(cnum);
cartService.save(cart);
return "success";
}
@PostMapping("/cart/delete")
public String deleteCart(Integer cartid) {
cartService.deleteById(cartid);
return "success";
}
}
这里将原来的@Controller注解改为@RestController注解,表示这是一个API控制器,不需要返回视图,而是直接返回数据。同时,将原来的Model和视图名称改为了List<Cart>,表示返回一个购物车列表。为了让返回的数据能够被前端页面接收到,我们使用@ResponseBody注解将返回值转为JSON格式。最后,将原来的重定向操作改为返回字符串"success",表示操作成功。
/** * 根据ID查找用户 * @param userId * @return */ @RequestMapping("/findById") public Map<String, Object> findById(Integer userId) { Map<String, Object> resultMap = new HashMap<String, Object>(); User user = userService.findById(userId); resultMap.put("errorNo", 0); resultMap.put("data", user); return resultMap; }
这是一个基于 Java Spring 框架的 Web 应用程序中的一个控制器方法。该方法使用 @RequestMapping 注解将其映射到 "/findById" 的 URL 路径。当用户发送 GET 请求到该 URL 时,这个方法会根据传入的 userId 参数从 userService 中查找对应的 User 对象。然后,将找到的 User 对象封装在一个 HashMap 中,并将 errorNo 设为 0 表示没有错误,data 设为找到的 User 对象。最终,将这个 HashMap 作为响应返回给用户。该方法的作用是根据 userID 查找用户,并返回用户信息。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)