Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
1

REST и контроллер

22.12.2016, 12:37. Показов 3242. Ответов 30

Author24 — интернет-сервис помощи студентам
Добрый день.
Обьясните, пожалуйста, как писать контролер или вообще как то без него при использовании REST.
т.е. например идет запрос GET user/1 нужен конкретно контроллер:
Java
1
@RequestMapping(value ="user/1", method = RequestMethod.GET)
но не к каждому же запросу по номеру юзера писать свой контролер user/1 user/2 .... user/N ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2016, 12:37
Ответы с готовыми решениями:

Rest
Вопрос следующий, скажем я хочу сделать базу данных с клиентом и с серверами на джаве. Так что я...

Java Rest
Добрый день, форумчане) Необходимо изучить Rest на java, но я не понимаю, что это и зачем он...

Rest%20Template
Здравствуйте, есть учебный проект, в нем требуется реализовать обращение к rest интерфейсу (тут...

REST и JpaRepository
есть три сущности: гаджеты, фирма гаджетов и тип гаджетов: @Entity @Table(name="gadget" ...

30
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
22.12.2016, 12:47 2
Java
1
2
3
4
@RequestMapping(value = " /user/{userId}", method=RequestMethod.GET)
public String getMethod(@PathVariable Integer userId){
//do something
}
2
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
22.12.2016, 12:51  [ТС] 3
а RESTFull чем будет отличаться?)
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
22.12.2016, 12:55 4
werrt,
Не понял вопрос.
От чего отличаться?
0
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
22.12.2016, 12:59  [ТС] 5
ну есть как я понял REST, а есть RESTFull
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
22.12.2016, 15:21 6
werrt, тынц
1
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
04.01.2017, 01:00  [ТС] 7
а правильно я понимаю, что, например, на запрос GET user/1 я должен вернуть данные типа XML или JSON. А на запрос user/1 но методом POST я на контролере получаю данные типа XML или JSON, с которыми что уже делаю, например преобразую в обьект и тд?
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
04.01.2017, 06:23 8
werrt, POST это создание, ты описываешь обновление, т.е. PUT. Читай
0
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
04.01.2017, 09:39 9
LeX, там все очень канонично описано конечно, но на практике, всякие конторы специализирующиеся на web security, говорят не использовать методов кроме GET \ POST. При таком раскладе POST берет на себя ф-ции PUT и DELETE
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
05.01.2017, 22:12 10
KEKCoGEN, странно, ни разу не сталкивался с таким)

Добавлено через 1 минуту
Но это уже не REST) это просто апи)
0
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
22.01.2017, 01:05  [ТС] 11
а как создать нового юзера через REST если отправляется форма в виде заполненного обьекта юзер? Ведь сначало нужно пустой обьект юзер отправить на страницу для заполнения.

Добавлено через 21 минуту
или же отправлять со страницы нужно преобразованую в XML/JSON форму, которую пользователь заполняет. А далее на контролере парсить из нее обьект юзер и сохранять в базу?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.01.2017, 01:29 12
Цитата Сообщение от werrt Посмотреть сообщение
или же отправлять со страницы нужно преобразованую в XML/JSON форму, которую пользователь заполняет. А далее на контролере парсить из нее обьект юзер и сохранять в базу?
да.
0
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
24.01.2017, 19:25  [ТС] 13
такой вот вопрос в продолжение:
контролер, например, получить user по id (/user/id) выглядит как :
Java
1
2
3
4
5
6
7
@Controller
@RequestMapping("/user")
public class UserControllerRest {@RequestMapping(value = "/{id}", method = RequestMethod.GET, produces = {"application/xml; charset=UTF-8"})
    @Transactional
    public
    @ResponseBody
    String getUser(@PathVariable int id, Model model) { return  какую нить XML}
а если нужно получать user по другим атрибутам, по имени (name) например? Чтобы в одном мапинге было?
0
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
24.01.2017, 21:00 14
werrt, передавайте имя аттрибута в запросе и ищите по нему.
0
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
25.01.2017, 04:49  [ТС] 15
т.е запрос на контролер будет типа /user?name="tom" или /user?id="1" ?
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
25.01.2017, 06:01 16
Апи обычно делают по уникальному полю, т.е. id или логин. Остальное делается через поиск, например /user/search?name=alex&surname=fox. Соответсвенно в контроллере на сколько помню потом можно сделать @RequestParam Map<Sting, String> searchParams. Результатом вызова такого апи будет коллекция, пусть даже с 1 объектом или вообще пустая
1
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
26.01.2017, 14:32  [ТС] 17
LeX, типа вот так?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Controller
@RequestMapping("/user")
public class UserControllerRest {
 
@RequestMapping(value = "/search", method = RequestMethod.GET, produces = {"application/xml; charset=UTF-8"})
    @ResponseStatus(HttpStatus.OK)
    @Transactional
    public
    @ResponseBody
    String getResultSearch(@RequestParam Map<String, String> searchParams){
 
        return null;
    }
}
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
26.01.2017, 15:03 18
werrt, да
1
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
01.02.2017, 18:16  [ТС] 19
А правильно делать мапинг типа ?

@Controller
@RequestMapping(value={"/user", "*/user"})
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
02.02.2017, 09:38 20
да, но тут я обычно говорю что если такая необходимость появилась, то что-то не то с архитектурой
0
02.02.2017, 09:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2017, 09:38
Помогаю со студенческими работами здесь

REST сервер по фуншую
Всем доброго дня. Не знаю куда еще написать - пишу сюда. Разрабатываю REST сервер на Spring. ...

Spring + hibenate, REST
Здравствуйте. Пишу учебный проект, spring + hibenate @Controller @RestController public...

Spring, REST, Json
Добрый день, Возникает следующая ошибка: HTTP Status 415 - description The server refused...

REST form validation
В общем имею класс UserEndPoint и класс UserService. Хочется в UserService проверять все поля...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru