zoukankan      html  css  js  c++  java
  • @RequestParam、@RequestBody和@ModelAttribute区别

    SpringMvc中易混淆的@RequestBody和@RequestParam的应用场景的区分

    https://blog.csdn.net/menglinjie/article/details/81126403
    首先明确几个概念:
    request header Content-Type是前端妹妹规定的请求头的响应类型,常用的类型有

    application/x-www-form-urlencoded : 表单默认的提交数据的格式。

    multipart/form-data : 当你需要在表单中进行文件上传时,就需要使用该格式;

    application/xhtml+xml :XHTML格式

    application/xml : XML数据格式

    application/atom+xml :Atom XML聚合格式

    application/json : JSON数据格式

    application/pdf :pdf格式

    application/msword : Word文档格式
    application/octet-stream : 二进制流数据(如常见的文件下载)

    RequestMethod 是提交方式 常用的有 get post put 等

    @RequestParam
    A
    该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定。

    在方法参数里面如是:

    public @ResponseBody JsonResult  getPublishedToposByConnStreamId(@RequestParam(value = “streamId”,  required = false) String streamId) {}
    

    当前台妹妹请求响应格式为 application/x-www-form-urlencoded : 表单默认的提交数据的格式 的时候。无论用get还是post都可以用@RequestParam接收,这属于简单的类型绑定。@ModelAttribute也可以处理,@RequestBody也能处理。当时提交方式为put时,只能用@RequestBody
    multipart/form-data, 次类型多用来上传文件类型—只能使用使用@RequestParam。无论是get post put,@RequestBody不能处理这种格式的数据。
    参考文件:http://www.iteye.com/topic/1127120

    @RequestBody
    A
    当前台妹妹用其他格式, 比如(其他格式包括application/json, application/xml等。这些格式的数据,无论get或者pos,putt必须使用@RequestBody来处理);

  • 相关阅读:
    Linux 基础篇(二)
    Linux 基础篇
    pandas 的使用
    git 使用和一些错误
    NetBackup :Unable to retrieve version of the server xxx.xxx.xxx
    Splunk 基本使用
    Symantec(赛门铁克)非受管检测
    matplotlib 的几种柱状图
    python 清空list的几种方法
    ACE
  • 原文地址:https://www.cnblogs.com/jia0504/p/13991622.html
Copyright © 2011-2022 走看看