У меня есть POST API, написанный в Restlet framework, который принимает данные в форме org.restlet.representation.Representation
, я хочу попасть в службу с некоторыми переменными и там значения из проекта Spring. Как это сделать?Вызов RESTlet API из Spring Framework
Сейчас я использую HTTPHeaders
для отправки данных, но API не принимает значения, все поля API отображаются как NULL
. Код выглядит следующим образом:
final String uri = "http://localhost:8080/MyServices/adduser";
String userid = "05580a6caa7244a6986ca834403f1a93";
String usertype = "buyer";
String username = "shivam42";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.add("userid", userid);
headers.add("usertype", usertype);
headers.add("username", username);
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
ResponseEntity<String> result = restTemplate.exchange(uri, HttpMethod.POST, entity, String.class);
System.out.println(result);
И сервис, как это:
@Post
public String newUser(Representation entity) {
Form form = new Form(entity);
String userid = form.getValues("userid");
String usertype = form.getValues("usertype");
String username = form.getValues("username");
System.out.println(userid);
System.out.println(usertype);
System.out.println(username);
return userid;
}
Это код, сгенерированный из завитка Может быть кто-то может помочь мне с этим:
curl -X POST -H "Cache-Control: no-cache" -H "Postman-Token: 33e6a1c5-c1c9-694f-3d7f-26cbcea61870" -H "Content-Type: application/x-www-form-urlencoded" -d 'userid=05580a6caa7244a6986ca834403f1a93&usertype=buyer&username=shivam42' "http://localhost:8080/MyServices/adduser"
When Я называю API от POSTMAN, он дает мне правильный userid
, теперь как назвать его из проекта Spring? Я делаю что-то неправильно?
Вы попробовали его с помощью завитка, и если да, вы можете поделиться (или экспортировать) команду примера скручивания? спасибо заранее –
Нет, я не пробовал его с завитом – Shivam
Это могло бы помочь много проанализировать и понять причину. Его легко экспортировать через почтальон. Смотрите: https://www.getpostman.com/docs/creating_curl –