, если вы хотите, чтобы Spring вводил заголовок запроса http в метод контроллера (в качестве аргумента), попробуйте это следующим образом:
@RequestMapping("/your-path")
public ResponseEntity<MyObject> getStuff(@RequestHeader("My-Header") String jsonValue) {
//...
}
также см. Здесь: https://www.viralpatel.net/spring-requestheader-example/
Вы также можете попытаться реализовать пользовательский конвертер, см. Здесь пример:
https://stackoverflow.com/a/50996349/150623
можно было бы использовать экземпляр ObjectMapper
изБиблиотека Джексона для преобразования строки JSON в java.util.Map
объект ...
может работать следующим образом (не проверено):
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
@Component
public class JsonToMapConverter implements Converter<String, Map<String,String>> {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
public Map<String, String> convert(final String json) {
try {
return objectMapper.readValue(json, Map.class);
} catch (IOException e) {
//handle exception...
}
}
}
не забудьте добавить Джексона в вашзависимости, например, в Maven:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>