Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
1

Restfull-сервис

09.02.2016, 12:50. Показов 554. Ответов 19
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста такой вопрос. У меня есть клиент-серверное взаимодействие на Socket, ServerSocket(север просто получает строки и числа через поток InputStream и OutputStream от клиента и возвращает клиенту результат выполнения своей программы , клиент же делает какие -то запросы) мне нужно как-то переделать серверную часть приложения, организовав работу restful –сервиса. Сервер должен принимать http-запросы по определённым url и возвращать ответы в произвольном формате (json, xml, либо полноценная web-страница). Нужен хороший материал для понимания, помогите плз.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2016, 12:50
Ответы с готовыми решениями:

Авторизация в RestFull Service через Android app
Здравствуйте. Есть простой RestFull Service на Spring MVC + Spring Security + Jersey. Написал...

Restfull - как сделать удаление всей таблицы
Здравствуйте, у меня возник вопрос: как удалить все записи из таблицы посредством restfull, да я...

Restfull web services - возврат ошибки пользователю или возрват успешного выполнения
@POST @Path("/auth/signin/{email}/{password}") public Response isValidUser(@PathParam("email")...

Как происходит маркировка успешной авторизации, в случае использования технологии RestFull services
Вот такая фраза прозвучала в одном из ответов ... Что это за token, как называется данная...

19
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
09.02.2016, 13:30 2
vifelso, https://jersey.java.net/

Добавлено через 1 минуту
Цитата Сообщение от vifelso Посмотреть сообщение
организовав работу restful –сервиса.
Цитата Сообщение от vifelso Посмотреть сообщение
полноценная web-страница
Вы определитесь хотите ли вы рест или веб страницу. REST - representational state transfer. То есть передается только репрезентативная информация о состоянии на основе которой клиент потом может генерировать страницу и вообще что угодно.

Добавлено через 1 минуту
Цитата Сообщение от vifelso Посмотреть сообщение
мне нужно как-то переделать серверную часть приложения
с сокетов это будет написать заного а не переделать.
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
09.02.2016, 13:38  [ТС] 3
Мне бы по проще что-нить(

Добавлено через 1 минуту
Ну так в задании написано(, можете показать какие нить похожие материалы я вобще понятия не имею с чего это всё начинать?

Добавлено через 4 минуты
И клиента переделать получается тоже?(он же тоже на сокетах). Подскажите с помощью чего это нужно делать?
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
09.02.2016, 14:12 4
vifelso, можете изобретать велосипед и делать на сокетах впринципе если по заданию так надо.
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
09.02.2016, 14:24  [ТС] 5
Можете привести пример как бы вы сделали это задание ? Самую простую реализацию задания используя программу типа "Hello Word " ?
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
09.02.2016, 16:26 6
vifelso, я бы использовал фреймворк по ссылке выше. Думаю это не то что от вас требуют. Если от вас требуется реализовать на сокетах, может кто-то приведет пример. Писать простыню низкоуровнего ненужного кода у меня желания нет.
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
09.02.2016, 20:32  [ТС] 7
Это нужно Spring Project создавать?

Добавлено через 12 минут
Да, наверное всё таки буду пытаться понять и сделать с помощью ссылки что мне дали. Так это мне нужно ставить сервер?
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
09.02.2016, 21:04 8
Цитата Сообщение от vifelso Посмотреть сообщение
Так это мне нужно ставить сервер?
сделайте на spring boot. Тогда ничего ненадо ставить. Джерси все же сложновата будет для начала
1
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
09.02.2016, 21:27  [ТС] 9
Можете подробно описать начала сего процесса? Я вот открываю Idea , что будет сервером что клиент и зачем нам мавен?
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
10.02.2016, 00:39 10
Цитата Сообщение от vifelso Посмотреть сообщение
что будет сервером
спринг бут запустит вам встроенный томкат когда вы запустите приложение
Цитата Сообщение от vifelso Посмотреть сообщение
что клиент
что угодно. Самый простой клиент - браузер
Цитата Сообщение от vifelso Посмотреть сообщение
зачем нам мавен
это инструмент для сборки проекта и управления зависимостями
1
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
10.02.2016, 14:18  [ТС] 11
Я уже полностью понял смысл файлов и работу рестфул-сервиса (контролер который обрабатывает запросы, сами объекты классов которые будут отправляться или приниматься. Я понял в чём различие между полноцееной xml страницей и рест(первое это сервлеты а второе просто передачи инфы без оформления),анотации для сервера который будет конвертить запрос в объект и обратно ). Я томкат поставил. Скачал архив с туториала , открываю его. Во первых классы подсвечивает как то подозрительно, и когда я включил томкат и отправляю запросы c браузера у меня приложение не работает (
Restfull-сервис
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
10.02.2016, 14:49 12
Цитата Сообщение от vifelso Посмотреть сообщение
Я томкат поставил.
ненадо ничего ставить. Там встроенный томкат уже есть
1
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
10.02.2016, 15:08  [ТС] 13
А что с классами почему с буквой j?

Добавлено через 5 минут
Я не могу найти томкат встроенный. Где он находится?
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
10.02.2016, 15:12  [ТС] 14
gs-rest-service-master(4).zip вот приложение с туториала, и приложение не работает, мне кажется там нет томката, можете показать где он тут лежит?
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
10.02.2016, 15:27  [ТС] 15
скажите как мне запустить это приложение?кнопка run не юзабельна!
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
10.02.2016, 15:38  [ТС] 16
Restfull-сервис
и при сборке jar нельзя указать главный класс
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
10.02.2016, 19:55  [ТС] 17
Всё helloWord работает , осталось только под своё приложение переделать)

Добавлено через 1 час 14 минут
Я через джерси делал.
Скажите вот я отсылаю запрос ,считывание строки происходит @Produces(MediaType.TEXT_PLAIN), как сделать чтобы он считывал цифру , какую анотацию использовать?

Добавлено через 52 минуты
Я вот не понимаю как сервер понимает что это Get или Post? пользователь же не водит явно!

Добавлено через 54 минуты
Это что каждый ответ нужно парсить?
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
10.02.2016, 20:14 18
Цитата Сообщение от vifelso Посмотреть сообщение
Я вот не понимаю как сервер понимает что это Get или Post? пользователь же не водит явно!
ещё как вводит. В браузере это гет

Цитата Сообщение от vifelso Посмотреть сообщение
Это что каждый ответ нужно парсить?
непонял вопроса

Цитата Сообщение от vifelso Посмотреть сообщение
как сделать чтобы он считывал цифру
откуда и куда считывал?
0
1 / 1 / 2
Регистрация: 06.11.2014
Сообщений: 346
10.02.2016, 23:56  [ТС] 19
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
ещё как вводит. В браузере это гет
ну я имею ввиду что все запросы от пользоваетля идут как Get, как тогда ввести POSt?)

Задача такая. я выдаю пользователю меню, потом пользователь вводит цифру меню от 1
до 7, мне нужно это цифру как-то считать, это возможно сделать?
Делал так но безрезультатно .
Строку я потом буду парсить, если смогу догнать как занести в id строку которую ввёл ползователь после two
@Path("/two")
@GET
public String takeInfo(@PathParam(value = "sdf") String id) {
return id + "third";

}

Добавлено через 21 минуту
Урашечки , оно работает
@Path("/two")
@GET
public String takeInfo( @DefaultValue("2") @QueryParam("id") String id) {
return (id) + "third";

Добавлено через 27 секунд
А я не могу инт возращать? Сервер ругатся начинает!

Добавлено через 9 минут
@Path("/two")
@GET
public int takeInfo( @DefaultValue("2") @QueryParam("id") int id) {
return 7;
}
почему с int не работает? как исправить?

Добавлено через 2 часа 47 минут
Как сделать так чтобы после того когда пользователь ввёл например запрос http://localhost:8080/name-Andrei, мы смогли записать Andrei в переменную?

Добавлено через 13 минут
Вопрос поправлю предыдущий,запрос -http://localhost:8080/name-Andrei
@Path("/name")
@GET
public String takeInfo() {
String s;
//в этом методе нужно чтобы все данные после http://localhost:8080/name- попали в переменну String s;
return s;
}
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,613
11.02.2016, 08:56 20
vifelso, у вас очень много элементарных вопросов. Почитайте документацию, посмотрите примеры и видео в интернете. У меня нет желания отвечать на миллион вопросов которых бы не возникло, посвяти вы больше времени пониманию того что делаете.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2016, 08:56

Литература по созданию и использованию Restfull сервисов
Подскажите пожалуйста, какую литературу стоит почитать (купить или скачать) для целостного, ...

Пытаюсь правильно сделать своё приложение RestFull
Учусь ASP.NET MVC 5. Пишу первое приложение. Домашняя бухгалтерия. Надо забить список товаров,...

Laravel расскажите про сервис провайдеры и сервис контейнеры
Всю доку перечитала, все равно ничего понять не могу про них. Везде пишут, что это центральные...

Духовка BOSCH HBA 73A 550 /01 нужен сервис мануал, Похоже демо , не могу снять ,нужно как зайти в сервис
Не включает не один ТЭН , свет вентиляторы работают ,несколько дохлых реле заменил


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.