我们有一个运行Spring 3.1.1的遗留代码。控制器看起来像这样:
<div>
<div class="slider__content"
[class.slider--show-backdrop]="open">
<div>Header</div>
</div>
<div class="slider-backdrop"
[class.slider--show-backdrop]="open"
(click)="close()">
</div>
</div>
现在,此控制器按预期工作。
我正在将Spring升级到4.3.10。作为此任务的一部分,我在类路径中拥有所有最新的Spring jar和相应的jackson jar。 但是这一次,我收到了Http 400(错误请求)错误。
只看遗留代码,我意识到我们正在将JsonNode作为请求体读取,然后将其映射到要保存的模型。所以我改变了这样的代码:
@RequestMapping(value = "/model/save", method = { RequestMethod.GET, RequestMethod.POST }, headers = "Accept=application/json; charset=utf-8")
@ResponseBody
public ResponseDTO save(@RequestBody JsonNode jsonProperty, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
MyObject myObject = new ObjectMapper().readValue(jsonProperty, MyObject.class);
// save myObject here
...
}
这种改变非常完美。 我有两个问题: