【发布时间】:2021-05-30 02:42:40
【问题描述】:
我正在学习 Spring 和 Rest Web 服务,所以这让我有点困惑。 这是我的课:
RestController
@RequestMapping("/app-api/users")
public class UserApiController {
@Autowired
UserRepository userRepo;
@GetMapping
public Iterable<User> getUsers(){
return userRepo.findAll();
}
}
现在,当我在某个休息客户端测试此 GET 请求时,我得到 HTTP status 200 和 JSON 格式的所有用户。但是我怎样才能在HTML 中显示它们?我像普通控制器一样尝试过:
@GetMapping("/test")
public String getUsers(Model model) {
Iterable<User> users = userRepo.findAll();
model.addAttribute("users", users);
return "test-user";
}
但这不起作用,因为它只是将test-user 作为常规文本返回。我的问题是处理来自RestController 的数据并在 html 中显示它们的正确方法和约定是什么?
【问题讨论】:
-
您需要返回一个完整的 HTML 文档并将媒体类型设置为
text/html(@GetMapping("/test", produces = javax.ws.rs.core.MediaType.TEXT_HTML)) -
@Turing85 我收到 404 错误。
-
您是否将正确的参数传递给 getUsers(Model mode) 方法?您是否访问了正确的 URL(app-api/users/test)?您是否面临浏览器或 restclient 中的 404 错误?
标签: java html spring spring-boot rest