首页 > 解决方案 > Spring webhook端点获取整个主体以及pojo

问题描述

我正在使用 spring 制作应用程序,并且我有一个 webhook 端点,如下所示

    @PostMapping("/paypal")
    fun paypalMapping(
        @RequestHeader headers: Map<String, String>,
        @RequestBody paypalOrder: PaypalOrder
    ) {
    // Stuff in here
    }

现在,我遇到的问题是,paypalEvent.validateReceivedEvent需要将整个 webhook 主体作为字符串,正如您在上面看到的,我将其映射到我制作的 POJO,这意味着我没有将整个 webhook 主体作为字符串。我尝试简单地@RequestBody body:String向该方法添加另一个参数,结果只是出现了一个关于无法找到主体的错误。

谢谢

标签: javaspringkotlinpaypal

解决方案


不幸的是,你不能绑定请求体两次,你只能使用@RequestBody一次。我要做的是将它绑定为 aString并手动反序列化:

@PostMapping("/paypal")
fun paypalMapping(
    @RequestHeader headers: Map<String, String>,
    @RequestBody body: String
) {
    // Stuff in here
}

推荐阅读