Java 如何为ResponseEntity返回'Integer'类型并在api页面上获得结果?

Java 如何为ResponseEntity返回'Integer'类型并在api页面上获得结果?,java,sql,spring-boot,rest,spring-mvc,Java,Sql,Spring Boot,Rest,Spring Mvc,我刚开始在MVC中开发spring引导应用程序Java。在控制器类中 @GetMapping("/{id}/age") public ResponseEntity<Integer> getStudentAge(@PathVariable Long id) { Integer age = studentService.retrieveAgeById(id); return new ResponseEntity<Integer>(age, HttpStatus

我刚开始在MVC中开发spring引导应用程序Java。在控制器类中

@GetMapping("/{id}/age")
public ResponseEntity<Integer> getStudentAge(@PathVariable Long id) {
    Integer age = studentService.retrieveAgeById(id);
    return new ResponseEntity<Integer>(age, HttpStatus.OK);
}

此外,对学生姓名genderType:String的请求也成功。但是,对age Type:Integer的请求不会产生类似的结果

使您的SELECT查询适应:

@Query("select d.age from Student d where d.id = :id")
Integer findAgeById(@Param("id") Long id);
问题中的查询将把SELECT中的第一个字段映射到方法的类型,如您所见,即学生ID

您还可以在方法声明中提供@Param,因为根据:

具有命名参数的查询更易于读取,并且在需要重构查询时更不容易出错


如果您想提取ID和年龄,可以返回整个学生实体,并使用它。另一种选择是使用,但我真的不相信您的用例足够先进,可以从中受益。

您好,这回答了问题。但是,如果我想在结果页面上同时打印Id和年龄,该怎么办?在这种情况下,方法的返回类型应该是什么?例如:@Queryselect d.id,d.age from Student d,其中d.id=:idfindAgeById@Paramid长id;
@Query("select d.age from Student d where d.id = :id")
Integer findAgeById(@Param("id") Long id);