Как реализовать веб-сервис Rest с помощью Spring 3? - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть приложение библиотеки, которое уже реализовано весной MVC.

Мне нужно использовать веб-сервисы ReST для того же приложения, использующего Spring 3.

У меня есть класс Controller, который я хочу использовать как веб-сервис RestFul

@Controller @SessionAttributes("category")
public class CategoryController {

    private static final Log log = LogFactory.getLog(CategoryController.class);

    @Autowired
    private CategoryService categoryService;

    @Autowired
    private ItemService itemService;

    @RequestMapping("/category/categoryList.htm")
    public ModelAndView list(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        List<Category> list = categoryService.getAllMainCategories();
        Map map = new HashMap();
        map.put("categoryList", list);
        map.put("category", new Category());
        return new ModelAndView("categoryList", map);
    }

    @RequestMapping(method = RequestMethod.POST, value = "/category/save.htm")
    public String save(HttpServletRequest request,
            HttpServletResponse response, Category command) throws Exception {

        log.debug("save method called" + command);
        Category category = (Category) command;
        System.out.println(category);
        categoryService.saveCategory(category);
        return "redirect:/category/categoryList.htm";
    }

    @RequestMapping("/category/edit.htm")
    public String edit(@RequestParam String id, ModelMap model)
            throws Exception {
        log.debug("edit method called :" + id);
        log.debug(Long.parseLong(id));
        Category cat = categoryService.getCategory(Long.parseLong(id));
        model.put("categoryList", categoryService.getAllMainCategories());
        model.put("category", cat);
        return "categoryList";
    }

    @RequestMapping("/category/delete.htm")
    public String remove(@RequestParam String id, ModelMap model)
            throws Exception {
        log.debug("remove method called " + id);
        categoryService.deleteCategory(Long.parseLong(id));
        return "redirect:/category/categoryList.htm";
    }

    @InitBinder
    protected void initBinder(WebDataBinder binder) {
        binder.registerCustomEditor(Category.class,
                new PropertyEditorSupport() {
                @Override
                public void setAsText(String text) {
                    setValue(categoryService.getCategory(Long.valueOf(text)));
                }
            });
    }
}

это класс CategoryController, который добавляет, удаляет или обновляет категорию

ItemService и CategoryService являются источниками данных

Категория - это объект домена, имеющий такие свойства, как идентификатор, имя, описание и т. Д.,

Как мне написать веб-сервис REST для этого?

1 Ответ

0 голосов
/ 10 ноября 2011

Есть простой пример, показывающий, как в Barebones Spring . Проверьте это.

...