Справочная информация
Мы потребляем API от стороннего поставщика
Постановка проблемы :
Я создаю API-оболочку для другого API. Та же самая точная JSON полезная нагрузка, которую я получу от клиента к API-оболочке, также будет использоваться для отправки HTTP-запроса к исходному API.
В настоящее время я конвертирую JSON, который десериализуется в строка. Является ли это правильным подходом, если полезная нагрузка только проходит через API-оболочку к исходному API? Другими словами, подходит ли @RequestBody
тип String
для моего варианта использования или мне все еще нужно десериализовать в Java объект?
Вариант использования для оболочки
Если несколько команд использовали API стороннего поставщика, все команды должны были бы внести изменения, если бы нам пришлось сменить поставщиков. Если мы создадим оболочку, только одна команда должна будет внести изменения. В этой оболочке нет обработки.
Код контроллера :
@RestController
@RequestMapping(value = FolderController.PATH, produces = MediaType.APPLICATION_JSON_VALUE)
public class PersonController(){
static final String PATH = "/person";
private final PersonService personService;
@Autowired
public PersonController(PersonService personService){
this.personService = personService
}
@PostMapping
@ResponseBody
public String createPerson(@RequestBody String requestBody){
return personService.createPerson(requestBody);
}