Комбинирование Get- и PostMapping в Spring Boot
Мне нужно принимать POST-запрос от игрового сервера, парсить его ответ и потом отправлять Json на фронт(React). Как я могу это реализовать? В коде выше описанное выглядит так:
@PostMapping
@GetMapping("")
public String[] getPost(@RequestBody String input){
//парсим, результат в массив и отправляем
}
Но так я получаю No 'Access-Control-Allow-Origin'. Если убрать @PostMapping и @RequestBody String input, то это работает, чтоб отправлять данные на React. Но тогда я не могу получать данные с игрового сервера. Как-то можно скомбинировать PostMapping и GetMapping? Или лучше просто перенести парсер на React и отправлять логи сразу туда?
Ответы (1 шт):
По феншую, у вас должно быть два отдельных метода. Метод GET не предусматривает тела и для него @RequestBody вызывает то, что вызывает.
@GetMapping("")
public String[] getSomeone(){
//парсим, результат в массив и отправляем
}
@PostMapping("")
public String[] postSomeone(@RequestBody String input){
//парсим, результат в массив и отправляем
}
Но, если нельзя, но очень хочется, то можно :)
@RequestMapping(value = "", method = { RequestMethod.GET, RequestMethod.POST })
public String[] getSomeone(HttpServletRequest request){
//Обрабатываем реквест в зависимости от его типа
}