forum.bitel.ru http://forum.bitel.ru/ |
|
Работа по REST из скрипта http://forum.bitel.ru/viewtopic.php?f=22&t=6144 |
Страница 1 из 1 |
Автор: | mikos [ 19 ноя 2011, 17:25 ] |
Заголовок сообщения: | Работа по REST из скрипта |
Добрый день. Подскажите пожалуйста, есть ли в BGBS классы для работы по http? Необходимо поработать по REST с другим приложением. |
Автор: | Феанор [ 21 ноя 2011, 15:43 ] |
Заголовок сообщения: | Re: Работа по REST из скрипта |
mikos писал(а): Добрый день. Подскажите пожалуйста, есть ли в BGBS классы для работы по http? Необходимо поработать по REST с другим приложением. http - протокол, rest - архитектурный подход. Код: import java.io.*; import java.net.*; и использовать URL для открытия соединения... Есть в инете примеры, могу выложить свой пример. REST - архитектура представления ресурсов и взаимодействия с ними, руководство к действию так сказать. Я для реализация RESTfull вызовов использовал jersey, подгрузив ее сервлетом. Но это опять же инструмент для реализации по правилам - можно их игнорировать, можно следовать. ps ну у меня сервер отвечает на запросы по рест, а не обращается.. обращается просто хттп запросами |
Автор: | mikos [ 21 ноя 2011, 15:51 ] |
Заголовок сообщения: | Re: Работа по REST из скрипта |
Феанор писал(а): mikos писал(а): Добрый день. Подскажите пожалуйста, есть ли в BGBS классы для работы по http? Необходимо поработать по REST с другим приложением. http - протокол, rest - архитектурный подход. Код: import java.io.*; import java.net.*; и использовать URL для открытия соединения... Есть в инете примеры, могу выложить свой пример. REST - архитектура представления ресурсов и взаимодействия с ними, руководство к действию так сказать. Я для реализация RESTfull вызовов использовал jersey, подгрузив ее сервлетом. Но это опять же инструмент для реализации по правилам - можно их игнорировать, можно следовать. Если есть примеры работы с REST - был бы благодарен! |
Автор: | Феанор [ 21 ноя 2011, 15:54 ] |
Заголовок сообщения: | Re: Работа по REST из скрипта |
mikos писал(а): Феанор писал(а): mikos писал(а): Добрый день. Подскажите пожалуйста, есть ли в BGBS классы для работы по http? Необходимо поработать по REST с другим приложением. http - протокол, rest - архитектурный подход. Код: import java.io.*; import java.net.*; и использовать URL для открытия соединения... Есть в инете примеры, могу выложить свой пример. REST - архитектура представления ресурсов и взаимодействия с ними, руководство к действию так сказать. Я для реализация RESTfull вызовов использовал jersey, подгрузив ее сервлетом. Но это опять же инструмент для реализации по правилам - можно их игнорировать, можно следовать. Если есть примеры работы с REST - был бы благодарен! а что именно нужно? чтобы к серверу снаружи по хттп можно было обращаться хитро, типа api какогото для другого приложения? |
Автор: | mikos [ 21 ноя 2011, 15:56 ] |
Заголовок сообщения: | Re: Работа по REST из скрипта |
Феанор писал(а): mikos писал(а): Если есть примеры работы с REST - был бы благодарен! а что именно нужно? чтобы к серверу снаружи по хттп можно было обращаться хитро, типа api какогото для другого приложения? ага |
Автор: | Феанор [ 21 ноя 2011, 16:19 ] |
Заголовок сообщения: | Re: Работа по REST из скрипта |
mikos писал(а): Феанор писал(а): mikos писал(а): Если есть примеры работы с REST - был бы благодарен! а что именно нужно? чтобы к серверу снаружи по хттп можно было обращаться хитро, типа api какогото для другого приложения? ага Ну тогда jersey использовать. http://jersey.java.net/ Скачиваем оттуда нужные библиотеки, кладем их в webroot/WEB-INF/lib Свои классы пишем, компилируем и кладем их в webroot/WEB-INF/classes Прописываем в webroot/WEB-INF/web.xml Код: <servlet> <servlet-name>Jersey REST Service</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>тут названия кастомных классов, которые подгрузить надо</param-value> </init-param> <load-on-startup>8</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey REST Service</servlet-name> <url-pattern>/api/*</url-pattern> </servlet-mapping> Ну а дальше - все возможности явы, апи биллинга для формирования данных. У меня используется встроенная реализация сериализации ответов в JSON. Т.е. описываешь свои классы, метод их возвращает в json'e. Код: @Path("/crm") @Produces("application/json; charset=UTF-8") public class CRM { public static final int HD=8; Setup setup; public CRM() { this.setup=Setup.getSetup(); } @GET public ArrayList<CRMProblem> getProblems(@Context HttpServletRequest req, @DefaultValue("-1") @QueryParam("departmentResponsibleId") int departmentResponsibleId, @DefaultValue("-1") @QueryParam("urgency") int urgency, @DefaultValue("-1") @QueryParam("status") int status, @DefaultValue("") @QueryParam("type") String type, @DefaultValue("-1") @QueryParam("dateType") int dateType, @DefaultValue("2030-01-01") @QueryParam("date2") String date2, @DefaultValue("2000-01-01") @QueryParam("date1") String date1, @DefaultValue("") @QueryParam("text") String text ) throws SQLException,itax.webclient.exceptions.NotFoundException { java.sql.Connection con=setup.getDBConnectionFromPool(); try{ ....куча логики по дерагнию проблем, прикрючиванию к ним информации по договорам и тд... } finally { con.close(); } } и получается типа такого ответа: Код: {"content":[ { "id":14, "dateCreated":"21.11.2011 12:05:25", "userCreated":"Главный администратор", "dateModified":"21.11.2011 16:20:17" ....другие поля.... }, {другие значения} ]} Ну можно еще манипулировать кодами ответов, 200, 404, 403 возвращать, мне это не нужно было, поотому что не совсем рестфул сервис был, но это все есть в библиотеке. |
Автор: | mikos [ 21 ноя 2011, 19:55 ] |
Заголовок сообщения: | Re: Работа по REST из скрипта |
Вот спасибо! Порюхаем... |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |