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;
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.