环境: spring boot 2.0,jackson序列化
我的rest控制器方法不会返回任何主体,就像ResponseEntity.ok().build()
一样,但是ajax没有转到成功方法,它将转到错误方法,并且错误显示“JSON input意外结束”。
我试过这个:
将属性添加到application.properties:spring.jackson.default-property-inclusion: NON_NULL
中,它仍然转到error方法;像这样更新返回结果,它就可以了;
@PostMapping(value = "/import")
public ResponseEntity<Void> importRecipients(@ModelAttribute UserRecipientDto userRecipientDto,
@CurrentUser @ApiIgnore User user,
@RequestParam ImportType importType,
@RequestParam String name,
@RequestParam List<Long> ids) {
Collection<MailRecipient> count = this.service.getRecipients(userRecipientDto, importType, ids);
UserMailRecipientGroup userMailRecipientGroup = new UserMailRecipientGroup(name, USER_RECIPIENT, count, user);
userMailRecipientGroupService.saveMailRecipientGroup(userMailRecipientGroup);
return ResponseEntity.ok().build();
}
application.yml:
spring:
jackson:
serialization:
write-dates-as-timestamps: true
write_dates_with_zone_id: true
time-zone: GMT
default-property-inclusion: NON_NULL
ajax代码块:
url: url,
type: type,
contentType: "application/json;charset=utf-8",
headers: {},
data: param,
async: true,
dataType: "json",
success: function success(data) {
cb(data);
},
error: function error(request, status_code, text_error) {}
我希望是这样:
当我的rest方法返回ok().build()
时,ajax将转到success方法。
我猜ajax转换结果到json出现了一些错误,可能是一些spring启动属性可以做到这一点,但我还没有找到。
谢谢!!
https://stackoverflow.com/questions/54247477
复制相似问题