springmvc

springmvc中的RequestBody自动注入List, Map, String数据结构

http://blog.csdn.net/ranmudaofa/article/details/51285034 直接上链接

请求参数

@RequestMapping(value=””,params=””)

params=”userId”:请求参数中必须带有userId

params=”!userId”:请求参数中不能包含userId

params=”userId=1”:请求参数中userId必须为1

params=”userId!=1”:请求参数中userId必须不为1,参数中可以不包含userId

params={“userId”, ”name”}:请求参数中必须有userId,name参数

 

 

 

 

接受参数

    接受servlet 内置对象

     HttpServletRequest HttpServletResponse HttpSession

    springmvc 内置对象 model modelmap

    接受请求路径中的占位符

    映射类注解@requestmapping(value="show17{id}{name}")

    方法形参注解@PathVariable(value=”id”) integer  id 

    接受普通的请求参数

        @requestparam(value="ss",required=true,defaultvalue="abcd") 

        value 参数名称  ,required 是否是必须, defaultvalue 默认参数值

        自定义对象可以直接绑定 传入对象类型就可以 

        如果方法需要接受的list集合,不能够直接在方法中书写List

        List的绑定,需要将List对象包装到一个类中才能绑定

 

 

    获取cookie

        @CookieValue使用方法同@RequestParam

        案列@CookieValue("JSESSIONID")      string cookie

 

返回数据类型性

    string 类型     返回值即视图名称    返回值 必须是视图名称  

    如何接受传参:  用到 springmvc   特有的内置对象   model   和  modelmap  使用任何一个都可以

    参数如何传到页面      调用 model 方法 ,,

    model . addAttribute("msg",   "接受请求参数springmvc 特有内置对象");

    map.addAttribute("msg","     接受参数   modelmap参数 ")

    实质上最终还是包装成modelandview  了 string+ model 模型

-----------------------------------------------------------------------------------------------------------

数据转换   

 当一个处理请求的方法标记为@ResponseBody时,表示该方法需要输出其他视图(json、xml,默认输    出json),springmvc通过默认的转化器转化输出

    在方法上加上@responesbody 注解表示以json的数据格式进行输出

    @RequestBody:接收json数据,并把json数据转化成java实体

    案列@RequestBody() User user  接受json 数据 ,包装成  user 对象 

 

 

    HttpServletRequest HttpServletResponse HttpSession

    Model modelMap 方法返回值就是String(viewName),model或者map可以传递参数

    @PathVariable(“xxx”) xxx不要省

    @RequestParam(value=”xxx”, required=true, defaultValue=”设置默认值”) required默认为        true,defaultValue可以使他失效

    

设置响应状态

        @responeseStatus(value=httpstatus.ok)   加在方法上  告诉他已经处理完成

 

springmvc 的重定向 和 转发    

        return "redirect:/show28."  重定向

 

 

 

restful 风格

        返回类型  ResponseEntity<user>

         1: 首先要判断参数是否合法

            返回值  ResponseEntity.status(HttpStatus.bad_requset).body(null)

             //  参数不合法 ,返回400 返回的 

         2: 如果查不到数据  返回404

            if(user ==null){

                return  ResponseEntity.status(HttpStatus.not_found).body(user)

            }

 

            return   ResponseEntity.status(HttpStatus.ok).body(user); //数据找到了响应200

            另外一种方式ResponseEntity.ok(user)   也可以i

 

            如果出现异常返回500

                ResponseEntity.status(HttpStatus....xxxx).body(null);

转载于:https://my.oschina.net/u/3483147/blog/905403

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值