Я пытаюсь отправить почтовый запрос, написанный на kotlin и b, используя топливную инфраструктуру (https://github.com/kittinunf/Fuel). Однако мне нужно отправить тело json с почтовым запросом, а также учетные данные базовой аутентификации.
Это моя текущая попытка, которая всегда приводит к HTTP-исключению 400. Поэтому я чувствую, что с отправкой тела что-то не так. Я просто не могу понять, что это такое:
val myJsonBody = " {\n" +
" \"jql\": \"component = LOLO AND fixVersion = '18/3 Patch-2'\",\n" +
" \"startAt\": 0,\n" +
" \"maxResults\": 300,\n" +
" \"fields\": [\n" +
" \"issuetype\",\n" +
" \"created\",\n" +
" \"status\",\n" +
" \"summary\",\n" +
" \"customfield_10002\",\n" +
" \"customfield_10003\",\n" +
" \"customfield_11201\",\n" +
" \"customfield_10006\"\n" +
" ]\n" +
" }"
val confluenceUrl = "https://atc.mywebpage.net/jira/rest/api/2/search"
val (ignoredRequest, ignoredResponse, result) =
Fuel.post(confluenceUrl)
.header("Content-Type", "application/json")
.header(user,password)
.jsonBody(myJsonBody)
.responseString ()
result.fold({ print("success: $result") }, { print("failure: $result") })
Работающий запрос cURL, сгенерированный почтальоном, выглядит следующим образом:
curl -X POST \
https://atc.mywebpage.net/jira/rest/api/2/search \
-H 'Content-Type: application/json' \
-H 'Postman-Token: xxxxxxxxxxxxxxxxxxxxxxx' \
-H 'cache-control: no-cache' \
-d '{
"jql": "component = LOLO AND fixVersion = '\''18/3 Patch-2'\''",
"startAt": 0,
"maxResults": 300,
"fields": [
"issuetype",
"created",
"status",
"summary",
"customfield_10002",
"customfield_10003",
"customfield_11201",
"customfield_10006"
]
}'