Multipart POST продолжает сбой в Springboot из-за заголовка Content-Type - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь создать REST API с помощью Spring-boot, который внутренне взаимодействует с контроллером Java другого приложения.Когда я делаю попытку POST для изображения, устанавливающего Content-Type как multipart / form-data, используя POSTMAN, я получаю сообщение об ошибке 500 «java.io.IOException: Отсутствует начальная граница из нескольких частей».Я просмотрел некоторые другие блоги, в которых говорилось, что это происходит потому, что border = "" удаляется, когда мы вручную перезаписываем Content-Type на заголовок, поэтому мы должны избегать его использования.Я попробовал то же самое, не используя заголовок, но затем получаю 400, говорящее «Недопустимые заголовки запроса. Доступ запрещен».У кого-нибудь есть обходной путь к тому же?Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Проверьте, помогает ли это, используется тип контента как 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"}
0 голосов
/ 24 октября 2018

Не прямой ответ на ваш вопрос, но я думаю, что вы можете попытаться использовать Swagger в своем проекте, не так много работы, вы получите API вашего проекта и вы можете попытаться вызвать ваши службы с точно настроенными значениями по умолчанию (как Content-Type в заголовках).

...