标签:
这里先介绍关于rest的post方式如何来更新list数组,具体rest的相关概念可以参考
http://blog.csdn.net/lfsfxy9/article/details/9205337
既然是提供服务,那么就一定有service端和cient端。这里会用到jersey 框架封装的一些类,以此来展示一个rest服务风格的服务端和客户端。
service端
`@POST
@Path("/updatePwd")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes("application/x-www-form-urlencoded")
@SuppressWarnings({ "unchecked", "rawtypes" })
public Response updatePwd(MultivaluedMap<String, List<String>> userMap)
throws ServiceException {
//校验传递参数
if ("0".equals("userMap.size()")) {
ServiceRevisionUtils.registerError(STATUS_ICT_ERR_PARAM,
"传递必选参数为空错误,请确认好参数为必填非必填,参数长度等信息。");
}
if (StringUtils.isEmpty(userMap.get("token").toString())) {
ServiceRevisionUtils.registerError(STATUS_ICT_ERR_PARAM,
"传递必选参数为空错误,请确认好参数为必填非必填,参数长度等信息。");
}
HashMap accountPwdMap = new HashMap<String, String>();
List userList=new ArrayList<String>();
userList=userMap.get("userList");
for(int i=0;i<userList.size();i++){
String[] users=userList.get(i).toString().split(",");
accountPwdMap.put(users[0],users[1]);
}
if (userInfoRevisionManager.updatePwd(accountPwdMap)) {
return Response.ok(// 状态值0表示有身份证号
"{\"status\":1, \"message\":\"" + userMap.size()
+ "条密码更新成功!" + "\"}").build();
} else {
return Response.ok(// 状态值0表示有身份证号
"{\"status\":2, \"message\":\"" + "密码更新失败,以回滚请重试!" + "\"}")
.build();
}
}`
client端
`public static void main(String[] args) {
ClientConfig cc = new DefaultClientConfig();
Client c = Client.create(cc);
MultivaluedMap form = new MultivaluedMapImpl();
form.add("token", "b310e7cb766146d28caa458fc34ed62a");
List userList=new ArrayList<String>();
userList.add("super,1");
userList.add("XPKY01SG03,2");
form.put("userList",userList);
String baseUrl = "http://localhost:8080/baseconnect/rest/fieldServiceRevision/updatePwd";
WebResource wr = c.resource(baseUrl);
String response = wr.post(String.class, form);
System.out.println("result:" + response);
}`
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/cfl20121314/article/details/48092095