Как вы можете преобразовать команду CURL свободной формы в JSON объект? - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь преобразовать пример строки, которая является командой curl, это всего лишь пример, фактическим вводом может быть любая форма действительной команды curl (см. Ниже):

curl --location --request POST 'https://my.sample.com/api/runTest/something' 
--header 'Content-Type: application/json' 
--data-raw '{"userId":"xxxx", "tags": ["USER"], "is_summary" : true , "is_summary_all_logs" : true }'

В JSON строка или объект, который выглядит примерно так:

{
command : "curl",
location : "enabled",
request-type : "POST",
request-url: "https://my.sample.com/api/runTest/something",
header : "Content-Type: application/json",
data-raw : "'{
   "userId":"xxxx",
   "tags": ["USER"], 
   "is_summary" : true , 
   "is_summary_all_logs" : true 
   }' 
}

Может кто-нибудь подсказать мне, какие инструменты или информацию мне нужно изучить, чтобы сделать что-то подобное? Я использую Java для этого.

Запись в JSON вполне допустима, поскольку Java уже имеет объекты для этого, поскольку Java 7.

Трудность в том, чтобы разобрать команду curl. Представьте, что ввод - это просто текстовое поле, и пользователь может свободно вводить в него любую допустимую команду curl. Таким образом, мы должны получить контекст для правильного формирования строки JSON.

Проще говоря, это может быть просто метод, подобный приведенному ниже:

private JSONObject convertCurltoJSON(String curlCommand) {

    ........ // process the curl command here

    return JSONObject;

}

Существует аналогичная функция Я заметил в Postman, где вы вводите команду curl, а затем она выводит команду curl в формате JSON. Как они это сделали?

Заранее спасибо!

...