Я считаю, что на уровне метода может быть только один @RequestBody
аннотированный параметр. Я рекомендую отправить ваш текст и ключевые слова в виде документа JSON в теле запроса вашего HTTP-запроса. Например, это может выглядеть так:
{
"text": "a simple text",
"keywords": ["simple", "text"]
}
Напишите простой Java-класс, который содержит эти два значения, например,
class Data {
String text;
String[] keywords;
//don't forget getter + setter + noargs constructor
}
Измените ваш метод на:
@PostMapping(path="/check/keywords", consumes="application/json", produces="application/json")
public int totalKeywords(@RequestBody Data data) {
String text = data.getText();
String[] keywords = data.getKeywords();
// do whatever...
return ...
}
Установите Content-Type
заголовок на application/json
при отправке POST-запроса почтальона! И убедитесь, что у вас есть библиотека Джексона - для "автоматического" сопоставления структур JSON с классами / объектами Java - на вашем пути к классам (если вы используете Spring Boot, это должно быть уже при импорте этой зависимости:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Надеюсь, это поможет. Удачи!