У меня есть два микросервиса, A и B, построенные с помощью Spring Boot.
Service A необходимо отправить Multipart /Form-Data < /code> запрос на службу B, который включает в себя: < /p> [list] [*] Объект JSON ([code]CreateCustomerDocumentRequest[/code])
[*] и, необязательно, список файлов изображений ([code]MultipartFile[/code]).
[/list] Код микро службы A для отправки [code]@FeignClient(name="${userServiceCustomer.name:userServiceCustomer}", url="${userService.url:http://hdsaison.swagger.io/v1}") public interface UserServiceApiClientCustom { @PostMapping(value = "/customer/{customerId}/documents", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) ResponseEntity createCustomerDocument( @PathVariable("customerId") UUID customerId, @RequestPart("request") CreateCustomerDocumentRequest request, @RequestPart(value = "images", required = false) List images ); } < /code> Код микро службы B для получения < /p> @RestController @RequiredArgsConstructor public class CustomerController { ... @PostMapping( value = "/customer/{customerId}/documents", consumes = MediaType.MULTIPART_FORM_DATA_VALUE ) public ResponseEntity _createCustomerDocument( @PathVariable UUID customerId, @RequestPart("request") CreateCustomerDocumentRequest request, @RequestPart(value = "images", required = false) List images ) { var requestDTO = CreateCustomerDocumentRequestDTO.builder() .customerId(customerId) .request(request) .images(images) .build();
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class CreateCustomerDocumentRequest extends BaseCustomerDocumentRequest {
public class BaseCustomerDocumentRequest {
private Integer documentId;
private DocumentCodeEnum documentCode;
private DocumentInputTypeEnum documentInputType;
private String insuranceCode;
private DocumentDetailResponse documentDetail; < /code> Ошибка на микрореализации A < /p> feign.FeignException$BadRequest: [400 ] during [POST] to [http://localhost:8283/customer/51754521-faae-446f-aa66-0fd8ff773481/documents] [UserServiceApiClientCustom#createCustomerDocument(UUID,CreateCustomerDocumentRequest,List)]: [{"timestamp":"2025-06-07T18:36:00.604+00:00","status":400,"error":"Bad Request","path":"/customer/51754521-faae-446f-aa66-0fd8ff773481/documents"}] < /code> Ошибка на микрореализации B < /p> 2025-06-08 01:36:00.367+0700 INFO 14656 --- [nio-8283-exec-1] com.hdsaison.filter.CustomURLFilter : Receive request: /customer/51754521-faae-446f-aa66-0fd8ff773481/documents Method : POST Query : null Headers : {content-length=372, host=localhost:8283, content-type=multipart/form-data; charset=UTF-8; boundary=1974bada0ee, connection=Keep-Alive, accept-encoding=gzip, accept=*/*, user-agent=okhttp/4.10.0}
2025-06-08 01:36:00.567+0700 WARN 14656 --- [nio-8283-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException: Required part 'request' is not present.] 2025-06-08 01:36:00.668+0700 INFO 14656 --- [nio-8283-exec-1] c.h.advice.AppResponseBodyAdviceAdapter : Return response: {"timestamp":"2025-06-07T18:36:00.604+00:00","status":400,"error":"Bad Request","path":"/customer/51754521-faae-446f-aa66-0fd8ff773481/documents"} [/code] Что вызывает проблема?>
Для наших проектов я использую Karate версии 1.3.1. В настоящее время у нас есть вариант использования для тестирования API, который принимает файл и метаданные как часть запроса.
мы используем составной файл и поле для записи нашего файла функций,...
Я пытался отправить форму с ectype = multipart/form-data . У меня есть этот параметр, потому что в форме будут включены загрузки JPEG /PNG после того, как я выяснил представление AJAX для текстовых вводов. because the alert line shows:...
Я пытался отправить форму с ectype = multipart/form-data . У меня есть этот параметр, потому что в форме будут включены загрузки JPEG /PNG после того, как я выяснил представление AJAX для текстовых вводов. because the alert line shows:...
У меня есть метод контроллера Spring Boot, который обрабатывает загрузку файлов, и я пытаюсь использовать аннотацию @ModelAttribute для привязки некоторых полей из запроса. Вот мой метод контроллера:
Я пытаюсь отправить через Multipart/Form-Data запрос POST от моего контроллера продуктов, где я загружаю файл изображений и информации моего продукта в JSON