Вставка и обновление с использованием одного вызова запроса

#mongodb #spring-boot #api #insert

#mongodb #весенняя загрузка #API #вставить

Вопрос:

Я хочу обновить и вставить с помощью этого api

 @RequestMapping(value = "/updateBank", method = RequestMethod.POST, consumes = "multipart/form-data")
    public ResponseEntity<Bank> updateBank(@RequestPart("bank") @Valid Bank bank, @RequestPart("file") @Valid MultipartFile image) throws IOException
    {
        // routine to update a payee including image
        if (image != null)
            bank.setImage(new Binary(BsonBinarySubType.BINARY, image.getBytes()));
        Bank result = bankRepository.save(bank);
        return ResponseEntity.ok().body(result);
    }
  

Ответ №1:

Вы должны использовать Optional

  @RequestMapping(value = "/updateBank", method = RequestMethod.POST,  consumes = "multipart/form-data")
    public ResponseEntity<Bank> updateBank(@RequestPart("bank") @Valid Bank bank, @RequestPart("file") @Valid Optional<MultipartFile> image) throws IOException
    {
        // routine to update a payee including image
        image.ifPresent(pic ->
                {
                    try {
                        bank.setImage(new Binary(BsonBinarySubType.BINARY, pic.getBytes()));
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                });


        Bank result = bankRepository.save(bank);
            return ResponseEntity.ok().body(result);


    }
  

Комментарии:

1. в следующий раз, пожалуйста, убедитесь, что код размещен с правильным форматированием.