**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
上个月关门了。
改进这个问题
我是spring的新手,我正在尝试使用一个api,该api是使用学生资源库中的注解@restrepositoryresources创建的,如下所示:
@RepositoryRestResource
public interface StudentRepository extends JpaRepository<Student, Long> {
}
所以,我想使用另一个项目的api,比如:
@RestController
public class StudentController {
@Autowired
private RestTemplate restTemplate;
@GetMapping
public List<Student> getStudents(){
ListStudent response=restTemplate.getForObject("http://localhost:8080/student-service/students", ListStudent.class);
System.out.println(response);
return response.getStudents();
}
}
当然,这不起作用,因为响应的格式
{
"_embedded": {
"students": []
},
"_links": {
"self": {
"href": "http://localhost:8081/students"
},
"profile": {
"href": "http://localhost:8081/profile/students"
}
},
"page": {
"size": 20,
"totalElements": 0,
"totalPages": 0,
"number": 0
}
}
2条答案
按热度按时间57hvy0tb1#
我不知道是什么
ListStudent
但是您的类需要匹配json响应,尽管它可以省略您不需要的任何内容。你需要一个StudentResponse
类,其中包含List<Student>
.4c8rllxm2#
您可以创建与响应匹配的pojo,但更简单的选择是更改
Content-Type
. spring数据rest使用application/hal+json
默认情况下;为请求添加标头Content-Type: application/json
,并且响应结构应该更易于使用。您也可以设置
spring.data.rest. default-media-type=application/json
在application.properties
设置默认内容类型。