springmvc 實現http介面 接受json引數
阿新 • • 發佈:2019-01-05
使用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是不可用的。