繁体   English   中英

Spring Boot:错误:提交响应后无法调用sendError()

Spring Boot : Error :Cannot call sendError() after the response has been committed

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我收到此错误。 提交响应后无法调用sendError()有人可以帮我找出原因吗?

    @Entity
    public class Product {

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private int id;

        @OneToOne(
                fetch = FetchType.LAZY,
                cascade = CascadeType.ALL
        )
        @JoinColumn(name = "details_id")
        private Details details;
//Getters and setters left out for brevity
    }


@Entity
public class Details {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private String description;
    private float price;
    private float discount;
    @OneToOne(mappedBy = "details")
    private Product product;
}


@RestController
public class ProductController {
    @Autowired
    ProductRepository productRepository;

    @GetMapping("/getAllProducts")
    public Iterable<Product> getAllProducts(){
        return productRepository.findAll();
    }
}

   @RestController
public class DetialsController {
    @Autowired
    ProductRepository productRepository;

    @Autowired
    DetailsRepository detailsRepository;

    @PostMapping("/details")
    public Details addDetails(@RequestBody Details details) {
        Product newProduct = new Product();
        newProduct.setDetails(details);
        productRepository.save(newProduct);
        return detailsRepository.save(details);
    }
}

我可以对/ details进行POST调用; 成功添加详细信息。 但是当我对/ getAllProducts进行GET调用时,出现此错误响应已提交后无法调用sendError()

1 个回复

这是双向关系的问题,因为它们相互引用,反序列化时,Jackson无限循环运行。 我的第一个建议是在关系的一端添加@JsonIgnore

@OneToOne(mappedBy = "details")
@JsonIgnore
private Product product;

之后,如果这解决了您的问题,则可以查看@ JsonManagedReference / @ JsonBackReference和@JsonIdentityInfo。

您也可以查看此链接以获得更多信息

3 Grails 2.4 spring-security-facebook:0.15.2-CORE2重定向错误-提交响应后无法调用sendError()

我刚刚将我的一个项目从grails 2.3.5升级到2.4.2,并调整了所有插件(如下所示,在buildConfig中)以使其正常工作。 该项目运行正常,但facebook插件尚未运行。 我正在使用FacebookAuthRedirectFilter(默认设置)。 但是,当我单击视图 ...

6 提交响应后无法调用senderror()Tomcat Spring MVC

如果我要在控制器类中返回Employee对象,则会从REST服务获得响应。 但是,如果我尝试返回列表,那么我经常会收到此错误: 错误:提交响应后无法调用senderror()(还附加了图像) 我正在使用Eclipse,tomcat,maven并进行spring REST服务。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM