RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,

实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。

 

首先添加浏览器扩展程序Advanced REST client用于测试

链接: https://pan.baidu.com/s/1LY7V_U5p2d-2jHOz1FcrNQ 提取码: vh7m 

然后点击左上角应用使用插件

 

@Controller
@RequestMapping("user")
public class UsersController {

    @RequestMapping(value="{uid}",method=RequestMethod.GET)    //查询
    public String findById(@PathVariable("uid") int id) {
        System.out.println("=============findById=============="+id);
        return "index";
    }
    @RequestMapping(method=RequestMethod.POST)        //添加
    public String insertUser(User user) {
        System.out.println(user+"=====insert");
        return "index";
    }
    @RequestMapping(value="{uid}",method=RequestMethod.PUT)
    @ResponseBody
    public String updateUser(@PathVariable("uid") int id,User user) {
        System.out.println(id+"===update==="+user);
        return "index";
    }
    @RequestMapping(value="{id}",method=RequestMethod.DELETE)
    @ResponseBody
    public String deleteUser( int id) {        //当@RequestMapping的value和参数一样时可以不写@PathVariable
        System.out.println(id+"======delete");
        return "index";
    }
}

测试:

1. GET提交 查询

2. POST提交 添加

  PUT 和DELETE提交要额外加入过滤器,且提交方式还是POST

<filter>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <url-pattern>/*</url-pattern>
</filter-mapping>

 

3. PUT提交 修改

 

 

4. DELETE提交 删除

 

Springmvc的异常处理

@ExceptionHandler
    public ModelAndView error(Exception exception) {
        ModelAndView mv=new ModelAndView();
        mv.addObject("error",exception.getMessage()+"1");
        mv.setViewName("error");
        return mv;
    }

上面写在类里面为局部处理,只能处理本类的异常。

可以新建一个类作为全局异常类并且在类名前加注解@ControllerAdvice,用于所有类的异常处理。