我正在尝试使用post in angular传递变量到java spring。执行java post函数,但所有参数都为null。
var CreditCard = $resource("http://:host::port/" + context + "/agent/creditCard",
{host: "localhost", port: 8080 },
{getTestPost2: {method:'POST', params:{charge:true, jsonPost:"1234"}}
});
var newCard = new CreditCard({number:'0123'});
newCard.name = "Mike Smith";
newCard.$save();
我检查了我的网络状态显示200 OK。
Request Payloadview source
{number:0123, name:Mike Smith}
name: "Mike Smith"
number: "0123"
爪哇
@RequestMapping(
value="/agent/creditCard",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody void getTestPost2(
@PathVariable String clientId,
@RequestParam(value="jsonPost", required=false) String jsonPost,
@RequestParam(value="charge", required=false) boolean charge,
@RequestParam(value="name", required=false) String name,
@RequestParam(value="number", required=false) String number
){
logger.debug("jsonPost " + jsonPost);
logger.debug("name " + name);
logger.debug("charge " + charge);
logger.debug("number " + number);
}
输出:
jsonPost null
name null
charge false
number null
答案 0 :(得分:0)
爪哇
@RequestMapping(
value="/agent/creditCard",
method = RequestMethod.POST,
params = { "jsonPost", "charge", "name", "number"}
produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public @ResponseBody void getTestPost2(
@PathVariable String clientId,
@RequestParam(value="jsonPost", required=false) String jsonPost,
@RequestParam(value="charge", required=false) boolean charge,
@RequestParam(value="name", required=false) String name,
@RequestParam(value="number", required=false) String number
){
logger.debug("jsonPost " + jsonPost);
logger.debug("name " + name);
logger.debug("charge " + charge);
logger.debug("number " + number);
}
我添加了params和ResponseBody,你可以尝试一下。
答案 1 :(得分:0)
您应该编写一个CreditCard
类作为参数类型。使用@RequestBody
对其进行注释,以使HttpMessageConverter
将JSON正文转换为所需对象。
@ResponseBody
@RequestMapping(
value="/agent/creditCard",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE)
public void postCreditCard(@RequestBody CreditCard creditCard) {
// process data...
}