Spring / Postman Тип контента 'application / octet-stream' не поддерживается - PullRequest
0 голосов
/ 17 мая 2018

Я использую Почтальон для отправки следующего запроса: enter image description here

Мой контроллер выглядит так:

@RestController
@RequestMapping(path = RestPath.CHALLENGE)
public class ChallengeController {

    private final ChallengeService<Challenge> service;

    @Autowired
    public ChallengeController(ChallengeService service) {
        this.service = service;
    }

    @ApiOperation(value = "Creates a new challenge in the system")
    @RequestMapping(method = RequestMethod.POST, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE, MediaType.APPLICATION_OCTET_STREAM_VALUE},
        produces = MediaType.APPLICATION_JSON_VALUE)
    @ResponseStatus(HttpStatus.CREATED)
    public ChallengeDto create(@ApiParam(value = "The details of the challenge to create") @RequestPart("challengeCreate") @Valid @NotNull @NotBlank ChallengeCreateDto challengeCreate,
                           @ApiParam(value = "The challenge file") @RequestPart("file") @Valid @NotNull @NotBlank MultipartFile file) {
        return service.create(challengeCreate, file);
    }
}

Я уже пытался изменить «потребление», чтобы удалить APPLICATION_OCTET_STREAM_VALUE на MULTIPART_FORM_DATA_VALUE, а также пытался удалить его, но ничего из этого не помогло.

Пожалуйста, скажите мне, если вам нужна дополнительная информация. Спасибо.

1 Ответ

0 голосов
/ 27 ноября 2018

Использование @RequestParam для получения строки и файла решит эту проблему. В Почтальоне используйте Content-Type как «multipart / form-data», а в Body определите свой ввод как form-data.

См. https://stackoverflow.com/a/38336206/1606838

Пример:

 @PostMapping(consumes = {"multipart/form-data"})
public Output send(@RequestParam String input, @RequestParam MultipartFile file) {

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