как сделать почтовый запрос по топору ios с несколькими параметрами в Reactjs - PullRequest
0 голосов
/ 25 февраля 2020

Мой API остальной части Springboot ожидает POST-запрос с 2 параметрами следующим образом: -

    @PostMapping(path = "/profile" , consumes = {"multipart/form-data"})
public ResponseEntity<?> addOrUpdateProfile(@RequestPart("profile") Profile profile,  @RequestParam("file") MultipartFile file) {
    System.out.println("file name:"+file.getOriginalFilename()+" file is here. Save it");
    profileService.saveOrUpdateExpense(profile);
    return new ResponseEntity<>("Expense added succcessfully", HttpStatus.OK);
}

Я могу протестировать код бэкенда по curl как: -

curl -X POST -H 'Content-Type: multipart/form-data'  -F profile='{ "displayName": "ma ma",  "birthDate": "1999-01-01", "gender": "male"};type=application/json' -F file=@'/home/dev/Downloads/file.pdf;type=application/octet-stream'   http://localhost:8080/profile

Сейчас Я пытаюсь сделать тот же POST-запрос по ax ios в моем интерфейсе реакции. Я новичок в ReactJs, и я не мог узнать, как это сделать. Пожалуйста, дайте мне знать, как это сделать?

1 Ответ

0 голосов
/ 25 февраля 2020

Таким образом, вы можете использовать post of ax ios с несколькими параметрами и установить для заголовка Content-Type значение multipart / form-data для файла

  var formData = new FormData();
    formData.append("file", '/home/dev/Downloads/file.pdf');
    formData.append("data", {"displayName": "ma ma",  "birthDate": "1999-01-01", "gender": "male"});
    axios.post('http://localhost:8080/profile', formData, {
        headers: {
          'Content-Type': 'multipart/form-data'
        }
    })
...