Size: a a a

Spring Framework and more

2019 April 22

М

Максим in Spring Framework and more
Может ли в get запросе параметр запроса (json) передаваться не в url?
источник

A

Alexey in Spring Framework and more
Максим
Может ли в get запросе параметр запроса (json) передаваться не в url?
в хедере может
источник

b💬

binka 💬 in Spring Framework and more
Максим
Может ли в get запросе параметр запроса (json) передаваться не в url?
Может. Например, в хедерах
источник

М

Максим in Spring Framework and more
А без заголовка можно передать как-то в хедере?
источник

PB

Pavel Bukhmatov in Spring Framework and more
Максим
А без заголовка можно передать как-то в хедере?
Заголовок = хедер. Что имеется ввиду?
источник

М

Максим in Spring Framework and more
curl -H 'Content-Type: application/json' --user qwe:qwe -XGET url/t-$DATE/_search?pretty -d '
{тут json}
источник

М

Максим in Spring Framework and more
есть такой курлык , мне надо переписать этот запрос на джава, не пойму что писать в параметрах метода:
con.setRequestProperty("User-Agent", USER_AGENT);
источник

М

Максим in Spring Framework and more
con.setRequestProperty(а тут что? , тут json);
источник

PB

Pavel Bukhmatov in Spring Framework and more
Максим
curl -H 'Content-Type: application/json' --user qwe:qwe -XGET url/t-$DATE/_search?pretty -d '
{тут json}
Очень похоже на es. Если это он, то
1) можно как параметр урла
2) можно как GET с телом (это твой пример)
3) можно POST с телом
источник

PB

Pavel Bukhmatov in Spring Framework and more
Если нужно 1 к 1 - то это просто json в теле. Если речь о spring, то в restTemplate это делается через метод exchange, а в webClient я не делал, но думаю тоже можно просто задав body)
источник

PB

Pavel Bukhmatov in Spring Framework and more
А какой http клиент? Что за con?)
источник

М

Максим in Spring Framework and more
я не знаю куда запрос идёт и что он принимает, у меня есть такой curl и мне надо его просто на джава переписать, когда задаешь con.setRequestProperty("Content-Type" ,"application/json") тут понтяно какие два параметра вставлять, а как быть в случае с json?
con.setRequestProperty("???" ,"json......")
источник

PB

Pavel Bukhmatov in Spring Framework and more
Максим
я не знаю куда запрос идёт и что он принимает, у меня есть такой curl и мне надо его просто на джава переписать, когда задаешь con.setRequestProperty("Content-Type" ,"application/json") тут понтяно какие два параметра вставлять, а как быть в случае с json?
con.setRequestProperty("???" ,"json......")
Не. -d в курле - это тело запроса. Тебе надо найти в этом con какой-нибудь метод, который устанавливает тело (body)
источник

М

Максим in Spring Framework and more
а как тело запроса может иметь get метод?
источник

PB

Pavel Bukhmatov in Spring Framework and more
Максим
а как тело запроса может иметь get метод?
А почему нет?)
Единственное, что тебя тут ограничивает это стандарт RFC какой-то там, в котором так же не написано прямым текстом, что нельзя. Можно, но возможно странное поведение, когда какие-нибудь прокси/кеши просто игнорируют его
источник

PB

Pavel Bukhmatov in Spring Framework and more
Вот тут описано за и против тела в get запросах хорошо: https://stackoverflow.com/questions/978061/http-get-with-request-body
источник

PB

Pavel Bukhmatov in Spring Framework and more
Es как раз любимый пример, потому что в es можно долбится get запросами с телом
источник

PB

Pavel Bukhmatov in Spring Framework and more
Больше таких пример я не видел, но не исключаю, что они могут быть
источник

М

Максим in Spring Framework and more
так это тело можно задать тем же методом которsv мы задаем тело в post запросе?
источник

PB

Pavel Bukhmatov in Spring Framework and more
Максим
так это тело можно задать тем же методом которsv мы задаем тело в post запросе?
Это я не скажу, так как не знаю, что такое con в твоём примере. Искоробочный http клиент в java все умеет. Если это он, то думать да, точно так же должно работать. Но если ты пользуешься им и при этом в Spring - возможно ты что-то делаешь не так, так как в Spring есть свой более-менее хороший http клиент
источник