gpt4 book ai didi

java - Spring 3 绑定(bind)多个请求参数到一个对象

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:57 26 4
gpt4 key购买 nike

我想不出一种在 Spring 3 中使用注释将多个参数和 header 绑定(bind)到一个请求参数的方法。

例如,假设我收到了这个请求:

Headers:
Content-type: text/plain;

POST Body:
Name: Max

现在我希望它全部神秘地绑定(bind)到这个对象上:

class NameInfo {
String name;
}

使用这样的代码:

String getName() {
if ("text/plain".equals(headers.get("content-type"))) {
return body.get("name");
} else if ("xml".equals(headers.get("content-type")) {
return parseXml(body).get("name");
} else ...
}

所以最后我将能够使用:

@RequestMapping(method = RequestMethod.POST)
void processName(@RequestAttribute NameInfo name) {
...
}

有没有办法实现与我需要的类似的东西?

提前致谢。

最佳答案

@RequestBody 是你想要的,我想。请参阅有关它的 Spring 文档 here .

The @RequestBody method parameter annotation indicates that a method parameter should be bound to the value of the HTTP request body.

You convert the request body to the method argument by using an HttpMessageConverter. HttpMessageConverter is responsible for converting from the HTTP request message to an object.

关于java - Spring 3 绑定(bind)多个请求参数到一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2964215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com