Как разработать сервис Spring MVC REST? - PullRequest
5 голосов
/ 30 января 2011

Я хочу, чтобы клиентское и серверное приложения общались друг с другом с помощью служб REST. Я пытался разработать это с помощью Spring MVC. Я ищу что-то вроде этого:

  1. Клиент выполняет вызов службы POST rest saveEmployee(employeeDTO, companyDTO)
  2. Сервер имеет аналогичный метод POST в своем контроллере saveEmployee(employeeDTO, companyDTO)

Можно ли это сделать с помощью Spring MVC?

Ответы [ 2 ]

13 голосов
/ 30 января 2011

Да, это можно сделать.Вот простой пример (с аннотациями Spring) RESTful Controller:

@Controller
@RequestMapping("/someresource")
public class SomeController
{
    @Autowired SomeService someService;

    @RequestMapping(value="/{id}", method=RequestMethod.GET)
    public String getResource(Model model, @PathVariable Integer id)
    {
        //get resource via someService and return to view
    }

    @RequestMapping(method=RequestMethod.POST)
    public String saveResource(Model model, SomeResource someREsource)
    {
        //store resource via someService and return to view
    }

    @RequestMapping(value="/{id}", method=RequestMethod.PUT)
    public String modifyResource(Model model, @PathVariable Integer id, SomeResource someResource)
    {
        //update resource with given identifier and given data via someService and return to view
    }

    @RequestMapping(value="/{id}", method=RequestMethod.DELETE)
    public String deleteResource(Model model, @PathVariable Integer id)
    {
        //delete resource with given identifier via someService and return to view
    }
}

Обратите внимание, что существует несколько способов обработки входящих данных из http-запроса (@RequestParam, @RequestBody, автоматическое сопоставление post-параметры бобу и т. д.).Для более длинных и, возможно, лучших объяснений и учебных пособий, попробуйте поискать что-то вроде 'rest spring mvc' (без кавычек).

Обычно клиентская часть (браузер) выполняется с помощью JavaScript и AJAX, я сервер- бэкэнд-программист и не знает много о JavaScript, но есть много библиотек, которые могут помочь с этим, например, см. jQuery

См. также: REST в Spring 3MVC

1 голос
/ 30 января 2011

Да, Rest очень легко реализовать с помощью пружин MVC.

@RequestMapping(value="/saveEmploee.do",method = RequestMethod.POST)
@ResponseBody
public void saveEmployee(@RequestBody Class myclass){
    //saving class.
    //your class should be sent as JSON and will be deserialized  by jackson
    //bean which should be present in your Spring xml.      
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...