现在的web开发中有些工程会觉得实体bean的架构会比较重,现在的持久层的框架的特点也层出不穷,核心思想的ORM在此基础上,提供了很多便捷操作,mybatis,jfinal(内部持久层框架)之类的也诞生了很多工具,包括官方的也不乏很多国产的,说这么多。。。表达一个意思很多框架都提供map形式的入库,说说Jersey 这个RESTful 框架怎么处理前端对象转为map的吧。



一、前端静态页面

<body>
<input type="text" name="name" ng-model="user.name">
<input type="text" name="age" ng-model="user.age">
<input type="button" value="保存" ng-click="save()">
</body>

二、http请求

<script type="text/javascript">
var app = angular.module("app", []);
app.controller("ctrl", function($scope, $http) {
$scope.user = {};
$scope.save = function() {
$http({
method : 'post',
url : "/Jersey/api/1.0/my/MultivaluedMap",
data : "json=" + angular.toJson($scope.user),
headers : {
'Content-Type' : 'application/x-www-form-urlencoded'
}
}).success(function(data) {
alert(data)
});
};
});
</script>

三、后端接收

@SuppressWarnings("unchecked")
@POST
@Path("/MultivaluedMap")
@Consumes("application/x-www-form-urlencoded")
@Produces({ MediaType.APPLICATION_JSON + ";charset=UTF-8" })
public String bean(MultivaluedMap<String, String> viParams) {
//得到viParams转换为json
System.out.println(viParams.getFirst("json"));
//转为map便于入库
System.out.println((Map<String, String>)JSON.parse(viParams.getFirst("json")));
return viParams.getFirst("json");
}

Jersey RESTful WebService框架学习(六)接收MultivaluedMap类型参数的更多相关文章

  1. Jersey RESTful WebService框架学习(一)

    介绍:RESTful (Representation State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fielding 的博士 ...

  2. Jersey RESTful WebService框架学习(五)使用@BeanParam

    第一步:定义一个实体类 注意:实体类的属性需要加上FormParam注解 public class User { @FormParam("name") private String ...

  3. Jersey RESTful WebService框架学习(二)使用@PathParam

    @PathParamuri路径参数写在方法的参数中,获得请求路径参数.比如:@PathParam("username") String userName 前端请求: <!DO ...

  4. Jersey RESTful WebService框架学习(八)maven搭建

    一.pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...

  5. Jersey RESTful WebService框架学习(七)文件上传

    引入jar包:jersey-media-multipart-2.22.jar 前端: <body> <input id="commonFile" type=&qu ...

  6. Jersey RESTful WebService框架学习(四)使用@FormParam

    前端 <form action="/Jersey/api/1.0/my/form" method="post"> <input type=&q ...

  7. Jersey RESTful WebService框架学习(三)使用@QueryParam

    介绍:@QueryParamuri路径请求参数写在方法的参数中,获得请求路径附带的参数.比如:@QueryParam("desc") String desc 前端控制 <!D ...

  8. Jersey RESTful WebService框架学习(八)文件下载防乱码

    最近在做下载时候  不同浏览器下载的文件一直出现乱码,不知道怎么设置文件的编码,百度许久,找到一个解决办法如下 /** * 文件下载 * @param request * @return */ @GE ...

  9. Jersey框架一:Jersey RESTful WebService框架简介

    Jersey系列文章: Jersey框架一:Jersey RESTful WebService框架简介 Jersey框架二:Jersey对JSON的支持 Jersey框架三:Jersey对HTTPS的 ...

随机推荐

  1. linux下安装以及升级npm,node的方法

    1.最开始使用阿里云文档提供的安装方法一直都是失败的状态,后来找到了新的方法重新安装,按照以下操作一步一步的走即可实现,亲测可用 2.安装完之后,会发现npm和node的版本都偏低,需要重新升级以下, ...

  2. ios 后台发送邮件之SKPSMTPMessage的使用

    skpsmtpmessage 是ios第三方后台发送邮件库 https://github.com/jetseven/skpsmtpmessage.git 1.由于skpsmtpmessage是非ARC ...

  3. 克隆后没有IP

    删除文件:  /etc/udev/rules.d/70-persistent-net.rules 将/etc/sysconfig/network-scripts/ifcfg-eth0 中的HWADDR ...

  4. [z]nativeSql

    http://blog.csdn.net/chenallen1025/article/details/9169543 EntityManager API 提供了创建 Query 实例以执行原生 SQL ...

  5. [z]protobuf实现c++与java之间的数据传递,beancopy数据到前台

    [z]http://blog.csdn.net/xhyzdai/article/details/46684335 定义proto文件 option java_package = "com.w ...

  6. Linux pip安装使用详解

    简介 pip是Python有它自己的包管理工具,与yum和apt-get相似. 安装步骤: 1.下载get-pip.py:https://bootstrap.pypa.io/get-pip.py 2. ...

  7. JianShu_failban2实现动态屏蔽的功能

    一,首先是服务安装 #vim /etc/yum.repos.d/Centos-Base.repo 在最新新增 [atrpms] name=Red Hat Enterprise Linux $relea ...

  8. mysql官网

    https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

  9. msdn

    https://docs.microsoft.com/en-us/cpp/standard-library/basic-string-class?view=vs-2017

  10. Python之路(第一篇):Python简介和基础

    一.开发简介 1.开发:      开发语言:               高级语言:python.JAVA.PHP.C#..ruby.Go-->字节码                低级语言: ...