我正在努力应该有所作为,但却没有......
我在我的控制器中有这个映射:
@RequestMapping(value = "/keys", method = RequestMethod.POST)
@Consumes(MediaType.APPLICATION_JSON)
public ResponseEntity<Void> parseKeyList(keyList keyList) {
return new ResponseEntity<Void>(HttpStatus.OK);
}
使用简单的类
@XmlRootElement
public class keyList {
private String keys;
public String getKeys() {
return keys;
}
public void setKeys(String keys) {
this.keys = keys;
}
}
我发送这个简单的JSON帖子:
{"keys": "This is my key list"}
但我在null
中获得keys
。
根据要求提供原始调度程序 - servlet:
<context:component-scan base-package="com.api" /> <!-- <mvc:resources mapping="/*" location="/WEB-INF/pages/" /> --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/pages/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean>
答案 0 :(得分:1)
您尚未将keyList参数附加到请求正文,请将方法更改为:
@RequestMapping(value = "/keys", method = RequestMethod.POST)
@Consumes(MediaType.APPLICATION_JSON)
public ResponseEntity<Void> parseKeyList(@RequestBody keyList keyList) {
return new ResponseEntity<Void>(HttpStatus.OK);
}
Btw。:类keyList应该是KeyList(大K)。
还有(看chat)a
<mvc:annotation-driven/>
您的dispatcher-servlet.xml中缺少。那是注册杰克逊映射器/ marshaller的那个。