Java 我在邮递员和浏览器中收到500个错误,但控制器在调试时返回正确的对象

Java 我在邮递员和浏览器中收到500个错误,但控制器在调试时返回正确的对象,java,spring-boot,rest,http-status-code-500,restapi,Java,Spring Boot,Rest,Http Status Code 500,Restapi,我已经编写了API,当通过邮递员或浏览器点击时会导致500个错误。然而,当我调试并看到服务器并没有抛出任何错误并且实际上返回了正确的响应时。我以类似方式实现的另一个控制器正在返回预期结果。下面是我的控制器代码。有没有人遇到过类似的情况。请帮忙 @CrossOrigin @GetMapping(value="/byPatientId/{patientId}", produces = "application/json") public

我已经编写了API,当通过邮递员或浏览器点击时会导致500个错误。然而,当我调试并看到服务器并没有抛出任何错误并且实际上返回了正确的响应时。我以类似方式实现的另一个控制器正在返回预期结果。下面是我的控制器代码。有没有人遇到过类似的情况。请帮忙

    @CrossOrigin
    @GetMapping(value="/byPatientId/{patientId}", produces = "application/json")
    public List<ContactInfo> getAllContacts(@PathVariable String patientId) {
        logger.info("Received request for List of ContactInfo for patientId: "+patientId);
        List<ContactInfo> list = 
         contactInfoService.getAllContacts(patientId);
        return list;
    }

    @CrossOrigin
    @GetMapping("/byContactId/{contactId}")
    public ContactInfo getContactById(@PathVariable Integer contactId) {
        logger.info("Received request for ContactInfo for contactId: "+contactId);
        return contactInfoService.getContactById(contactId);
    }
@CrossOrigin
@GetMapping(value=“/byPatientId/{patientId}”,products=“application/json”)
公共列表getAllContacts(@PathVariable String patientId){
logger.info(“收到patientId联系人信息列表请求:“+patientId”);
列表=
contactInfoService.getAllContacts(patientId);
退货清单;
}
@交叉起源
@GetMapping(“/byContactId/{contactId}”)
public ContactInfo getContactById(@PathVariable Integer contactId){
logger.info(“收到contactId:+contactId的ContactInfo请求”);
返回contactInfoService.getContactById(contactId);
}

您的控制器是如何注释的?是使用@Controller还是@Rest

  • @RestController=@Controller+@ResponseBody(用于序列化响应并将其传递到HttpResponse
在控制器上的方法中添加@ResponseBody,或将@controller标记更改为@RestController(考虑到@RestController自4.0 Spring版本起可用)


更多信息:https://www.baeldung.com/spring-controller-vs-restcontroller

问题出在一个依赖对象上,该对象与返回类型对象具有一对一的关系。该对象被设置为延迟加载,因此在将对象序列化为JSON时,可能会出现一些问题。我通过将`@JsonIgnore'注释添加到p依赖对象。问题现在已经解决。

您可能需要添加带有相关代码的日志。浏览器开发工具或邮递员在500错误的主体中有哪些内容?我只使用
@RestController
进行了注释。问题是其中一个依赖对象设置为延迟加载。我通过添加
@JsonIgno来处理它re
注释。无论如何,谢谢您的回答