Service A необходимо отправить Multipart /Form-Data < /code> запрос на службу B, который включает в себя: < /p>
- Объект JSON ()
Код: Выделить всё
CreateCustomerDocumentRequest - и, необязательно, список файлов изображений ().
Код: Выделить всё
MultipartFile
Код: Выделить всё
@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();
return ResponseEntity.status(HttpStatus.CREATED)
.body(customerService.createCustomerDocument(requestDTO));
}
...
< /code>
createCustomerDocumentRequest < /p>
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
@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"}
Подробнее здесь: https://stackoverflow.com/questions/796 ... een-micros