使用springmvc实现http接口时,发现问题。将参数直接放入url里面参数能被正常解析到如下:

public void test(  Long roleId,  Integer roleCode,  String roleName);
        参数roleId 可以被赋值。

可是 参数不放入url里面。以json 格式传输参数时,需要以下配置

@RequestMapping(value="/test", method=RequestMethod.POST, consumes = "application/json")
@ResponseBody
public BooleanResult test( @RequestBody  RelationForm form,  Long roleId,  Integer roleCode,  String roleName);

@RequestBody 这个参数时必须的,这样一来 json的参数会有spring封装成 from。而roleId这些参数时接受不到参数的。
如果在 roleId前面加上 @RequestBody  调用会返回 http 415的错误。

  1、开发这个功能必须的包如下:
maven引用
<dependency>  <!-- http接口接受json格式参数必须的包 -->
            <groupId>com.fasterxml.jackson.core</groupId>  
            <artifactId>jackson-databind</artifactId>  
            <version>2.5.3</version>  
        </dependency>  
<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.1.7</version>
        </dependency>

2、springmvc.xml的配置文件
<mvc:annotation-driven /> 也是必须的,否则mvc是不可用的。
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 3 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐