Должен ли я разработать свой API для получения JSON как дочернего элемента иерархии? - PullRequest
1 голос
/ 29 марта 2019

Я разрабатываю API, который получает запрос на публикацию формы от внешнего интерфейса. Форма переднего конца содержит как правильную форму поля и поле загрузки файла. Допустим, поведение тривиального интерфейса из шоу показано ниже

<form>
  <input type="file" name="image">
  <input type="text" name="field_1">
  <input type="text" name="field_2">
</form>

приведет к следующему почтовому запросу:

Content-Disposition: form-data; name="image"
Content-Type: application/octet-stream

===CONTENT OF THE IMAGE===
Content-Disposition: form-data; name="field_1"

value of field 1
Content-Disposition: form-data; name="field_2"

value of field 2

Но другой бэкэнд-разработчик настоял, чтобы мы обернули все поля, кроме изображения, в объект json, чтобы запрос выглядел как

Content-Disposition: form-data; name="image"
Content-Type: application/octet-stream

===CONTENT OF THE IMAGE===
Content-Disposition: form-data; name="body"

{
  "field_1": "value of field 1", 
  "field_2": "value of field 2"
} 

Наша технология бэкэнда - Spring / Boot, и в результате последняя конструкция значительно упростит сигнатуру нашего контроллера, как

public EmptyResponse acceptFormInput(
        @RequestPart EmptyResponse body,
        @RequestPart("file") MultipartFile file
)

Мне кажется, что контроллер должен напрямую отражать то, как выглядит наш API. И подпись контроллера должна отражать декларацию API. Но этот коллега-разработчик утверждал, что дизайн API вложенности также является частью стандарта W3C (хотя и в черновом варианте), поэтому должен быть выполнимым. ( План W3C )

У меня проблемы с выяснением того, какая практика является обычной при разработке такого API. Любое предложение приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...