Я не могу найти способ привязать несколько аргументов и заголовков к одному параметру запроса, используя аннотации в Spring 3.
Например, допустим, я получаю этот запрос:
Headers:
Content-type: text/plain;
POST Body:
Name: Max
Теперь я хочу, чтобы все это таинственным образом связывалось с этим объектом:
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) {
...
}
Есть ли способ достичь чего-то похожего на то, что мне нужно?
Заранее спасибо.