Неверный ответ на запрос при передаче JSON в переменных процесса — потоковый

#json #http-post #flowable

#json #http-post #потоковый

Вопрос:

Я использую flowable и пытаюсь передать JSON как тело, но при обработке запроса он рассматривается как искаженный (или я так думаю, поскольку ошибка есть Bad Request ). По сути, я передаю некоторые параметры таким образом:

 @PostMapping(path = PathConstants.START_ACTION)
    public ResponseEntity<BaseResponse<ProcessInstance>> start(@PathVariable String processDefinitionId,
            @RequestBody(required = false) Map<String, Object> params)
  

Они params устанавливаются с помощью postman, таким образом:

 {
    "body": {
        "email":"testmail@test", 
        "password":"password" 
    }

}
  

Процесс запускается, и выполняется вызов POST, но неверный запрос возвращается. Я попытался распечатать переменные процесса после этого вызова, и это то, что у меня есть:

 body={email=testmail@test, password=password}
  

Поэтому я попытался передать это вместо:

 {
    "body": "{ "email":"testmail@test", "password":"password"}"

}
  

И при печати переменных у меня есть:

 body={"email":"testmail@test", "password":"password"}
  

но все же это плохой запрос. Что не так с этим JSON?

Ответ №1:

Если вы хотите передать переменную, которая является JSON, вам нужно будет убедиться, что body это тип JsonNode из Jackson.

Глядя на вашу подпись запроса Map<String, Object> , Jackson будет содержать карту карт.

Я не знаю, что вы пытаетесь сделать. Тем не менее, я бы настоятельно рекомендовал вам работать с предопределенными параметрами в вашем REST API. Если вам нужно что-то общее, вы можете использовать REST API Flowable, чтобы делать то, что вы хотите.