zoukankan      html  css  js  c++  java
  • restful风格以及异常处理。

    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,用于所有类的异常处理。

  • 相关阅读:
    如何调试在OJ中的代码
    在linux命令行中调试在OJ上的c++代码
    jar包
    stanford core
    decode encode
    访问服务器,远程访问linux主机
    代码18
    删除列表中的元素
    if __name__ == '__main__'
    苹果要求全部新app以及版本号更新必须支持iOS 8 SDK和64-bit
  • 原文地址:https://www.cnblogs.com/zfyyfw/p/11470275.html
Copyright © 2011-2022 走看看