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- Введите заголовки).

Другие вопросы по тегам