Щелкните правой кнопкой мыши файл .feature и выберите «Запустить пользовательский инструмент». Это перезапустит SpecFlowSingleFileGenerator, который генерирует выделенный код в рамках тестирования по вашему выбору.
В комментарии вы писали, что «надеялись на что-то более высокий уровень», чем HttpClient. Похоже, что Restlet подойдет идеально. Он предоставляет высокоуровневый API для реализации и использования веб-приложений RESTful с адаптерами plug-and-play для низкоуровневых реализаций.
Например, для POST веб-формы на ресурс с помощью Restlet 1.1:
Client client = new Client(Protocol.HTTP);
Form form = new Form();
form.add("foo", "bar");
form.add("abc", "123");
Response response = client.post("http://host/path/to/resource", form.getWebRepresentation())
if (response.getStatus().isError()) {
// deal with the error
return;
}
if (response.isEntityAvailable()) {
System.out.println(response.getEntity().getText());
}
Если вам нужно задать дополнительные параметры для запроса, вы можете использовать объект запроса:
Form form = new Form();
form.add("foo", "bar");
form.add("abc", "123");
Request request = new Request(Method.POST, "http://host/path/to/resource");
request.setEntity(form.getWebRepresentation());
request.setReferrerRef("http://host/path/to/referrer");
Response response = client.handle(request);
HTH!
JAX-RS (JSR311) не определяет клиентский API, но в большинстве реализаций JAX-RS он есть, например Jersey , RESTeasy или Apache CXF . Фреймворк Restlet также имеет поддержку клиентов , а также отдельное расширение HTTP-клиента .
Поскольку это специализированные библиотеки / фреймворки для REST, я бы посоветовал вам изучить их.
Предлагаю вам взглянуть на проект WADL . WADL для REST - это то же самое, что WSDL для SOAP.
Сначала вам нужно определить интерфейс REST с помощью WADL. Затем вы можете запустить на нем инструмент wadl2java, чтобы сгенерировать клиентские заглушки для вызовов REST.
Если у вас есть WADL для веб-сервиса, вы можете реализовать инструменты, которые также делают с ним другие вещи, например, генерируют заглушки на стороне сервера, генерируют документация и т. д.
HttpClient в основном из apache (см. http://hc.apache.org/httpcomponents-client-ga/ ).
Как сказали Гэндальф и Даррел Миллер, HttpClient.
Вам не нужно создавать XML из параметров HTTP. XML должен быть только вашим интерфейсом между двумя отдельными системами. Использование HttpClient помещает вас в Java со значениями String в вашем распоряжении, оттуда возвращаться в XML нет необходимости.
Если вы на этом этапе возвращаетесь к XML для отправки в другую систему, вам следует подумать о перемещении значений из параметров HTTP обратно в логику вашего домена / приложения, прежде чем связываться с другой системой. Это необходимо для правильного разделения логики приложения и межсистемной связи.