Multipart POST продолжает сбой в Springboot из-за заголовка Content-Type
Я пытаюсь создать REST API с помощью Spring-boot, который внутренне общается с контроллером Java другого приложения. Когда я делаю попытку POST для изображения, устанавливающего Content-Type как multipart/form-data, используя POSTMAN, я получаю сообщение об ошибке 500 "java.io.IOException: отсутствует начальная граница из нескольких частей". Я просмотрел некоторые другие блоги, в которых говорилось, что это происходит потому, что border ="" удаляется, когда мы вручную перезаписываем Content-Type на заголовок, поэтому мы должны избегать его использования. Я попробовал то же самое, не используя заголовок, но затем получаю 400, говорящее "Недопустимые заголовки запроса. Доступ запрещен". У кого-нибудь есть обходной путь к тому же? Заранее спасибо.
2 ответа
Проверьте, помогает ли это, использовал тип контента как application/json
@RestController("/image")
public class TestControllerEx {
@PostMapping
public ResponseEntity image(@RequestBody Image image){
System.out.println("Got image..."+image.getImage());
return new ResponseEntity("success", HttpStatus.CREATED);
}
}
public class Image {
private byte[] image;
public byte[] getImage() {
return image;
}
public void setImage(byte[] image) {
this.image = image;
}
}
вход в тело почтальона:
{"image":"dGVzdCBtZXNzYWdl"}
Не прямой ответ на ваш вопрос, но я думаю, что вы можете попытаться использовать Swagger в своем проекте, не так много работы, вы получите API вашего проекта и вы можете попытаться вызвать ваши службы с точно настроенными значениями по умолчанию (например, Content- Введите заголовки).