Приложение/октет-поток устанавливается как тип носителя при загрузке полезной нагрузки файла json с использованием параметров формы вместо приложения/json

#json #jersey #mime-types #multipart #form-parameter

Вопрос:

Я использую реализацию jersey для создания службы REST и пытаюсь загрузить файл .json на сервер, используя параметры формы. Я создаю объект FileDataBodyPart и передаю его объекту FormDataMultiPart.

FileDataBodyPart Файловая часть = новая файловая часть(имя, файл); форма.Часть тела(файловая часть);

Тип носителя по умолчанию, который устанавливается здесь,-это поток приложений/октетов. Я посмотрел на код библиотеки Джерси, он внутренне «решает», какой тип среды установить. Если тип файла отсутствует в списке CommonMediaTypes, он задает его как octect-stream.

https://github.com/eclipse-ee4j/jersey/blob/21b7cc0307d6432eb301f773d5c2c674425c6b10/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/DefaultMediaTypePredictor.java#L136

Приведенный выше URL-адрес указывает на код Джерси, в котором перечислены доступные типы носителей. приложения/json нет в списке поддерживаемых форматов.

Я хотел знать, есть ли конкретная причина для того, чтобы библиотека джерси не поддерживала формат json? Или поддержка application/json добавлена в более поздних версиях jersey для загрузки файлов из нескольких частей.

Комментарии:

1.У вас есть возможность установить тип носителя.

2. Спасибо за ответ @PaulSamsotha. Да, я могу установить тип среды в application/json. Хотели бы знать какую-либо конкретную причину, по которой он не был добавлен в общий список типов носителей?

3. Вероятно, потому, что JSON обычно не отправляется в виде файлов .

4. Спасибо @PaulSamsotha.