0

I am trying to send request with Feign client, my request includes Map<String, String>. While sending request, Feign client throws an exception. An exception is:

class java.util.LinkedHashMap is not a type supported by this encoder.

Detail exception message is;

Detailed exception.

There is my request class:

@Data
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
public class DocumentRequest extends BaseExternalRequest {
    private Map<String, String> metaData;
    private String documentTypeId;
}

And this is consumer request model;

@Data
@SuperBuilder
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
public class DocumentRequest extends BaseExternalRequest {
    private Map<String, String> metaData;
    private String documentTypeId;
}

Cleint Controller endpoint:

@PostMapping(value = "/upload")
public ResponseEntity<BaseResponse<String>> uploadDocument(@RequestPart("request") DocumentRequest request, @RequestPart("file") MultipartFile file) {
    request = dysBaseRequestUtil.fillDysBaseRequest(request);
    return dysDocumentClient.uploadDocument(request);
}

Feign Client interface;

@PostMapping(value = "/upload")
ResponseEntity<BaseResponse<String>> uploadDocument(@RequestPart DocumentRequest request);

Consumer controller;

@PostMapping(value = "/upload")
@RestDMSLogger(code = EndpointCodeConstants.UPLOAD_DOCUMENT)
public ResponseEntity<BaseResponse<String>> uploadDocument(@RequestPart DocumentRequest request) {
    String insertedEntityId = documentService.uploadDocument(documentMapper.documentRequestToDocumentDto(request));
    return ResponseEntity.ok(new BaseResponse<>(insertedEntityId));
}

How can I get rid of this exception.

Bertug
  • 915
  • 2
  • 10
  • 26
  • Anastasiia Smirnova's answer solved my issue. Thanks Anastasiia Smirnova :). Link is; https://stackoverflow.com/questions/63070641/feign-multipart-with-json-request-part – Bertug Oct 15 '22 at 21:04

0 Answers0