起因
调试一个支付接口,支付成功应答url会通知支付结果,我们收到应答结果之后需要返回一个String类型的"ok",但是不能带双引号。否则在规定时间内(2s,8s,30s,60s,180s)还会继续发送通知。
为了 减轻服务器本身的负担,只要回复不带双引号的ok就可以了。
原请求
@PostMapping("/backNotice")
public String backNotice(@RequestBody CommonNotice notice) {
String msg = payService.backNotice(notice);
return msg;
}
返回的结果是带双引号的**"ok"**,因为springboot默认的序列化为json
修改后请求
@PostMapping(value = "/backNotice", produces = MediaType.TEXT_PLAIN_VALUE)
public String backNotice(@RequestBody CommonNotice notice) {
String msg = payService.backNotice(notice);
return msg;
}
只需要在
@PostMapping中加上produces = MediaType.TEXT_PLAIN_VALUE,返回的ok就不在带双引号。
这是我碰到这类问题的解决方法,有知道别的解决方法的可以留言交流。