Я передаю объект json в скручиваемом виде, показанном ниже, и хотел бы получить данные. Возвращает 200, но возвращает пустой объект. Не уверен, где проблема происходит.
@RequestMapping(value = "/api", produces = "application/json")
public interface ApiController {
@PostMapping("/submitJob")
JobSubmitResultDTO submitJob(@RequestBody JobSubmitRequestDTO request);
}
@RestController
public class ApiController implements ApiController {
@Override
public ResultIntDTO answerToCall(String name) {
return new ResultIntDTO(10);
}
@Override
public JobSubmitResultDTO submitJob(JobSubmitRequestDTO request) {
//Create an instance of JobSubmitResultDTO
JobSubmitResultDTO response = new JobSubmitResultDTO();
//print from the object
System.out.println(request.getParamsMap());
return response;
@Data
public class JobSubmitRequestDTO {
Map<String,Object> paramsMap = new HashMap<String,Object>();
}
@Data
public class JobSubmitResultDTO {
String jobID;
String message;
}
Команда Curl:
curl -X POST -H "Content-type: Application/json" -d "{ "paramsMap": {"key1": "value1"}}" http://XXXXXX:XXXX/api/submitJob
Ожидаемый вывод на печать в командной строке:
System.out.println(request.getParamsMap()); -> {"key1": "value1"} (Expected)
Печатный неожиданный вывод:
System.out.println(request.getParamsMap()); -> {} (unExpected)
Мне интересно, почему он возвращает {} вместо {"key1": "value1"}.
Есть идеи, что я делаю неправильно?