用maven创建基于wink的rest服务(四)-携带xml和gson的post请求
来源:互联网 发布:新生报到流程优化 编辑:程序博客网 时间:2024/05/13 04:24
通过<用maven创建基于wink的rest服务(一)(二)(三)>的学习,我们知道了如何构建一个非常简单的
rest服务器和客户端,并可以通过get和post发送简单的消息,但是在实际业务中,一般传送约定好的文件格式,
例如xml文件格式和json格式.
传xml格式的文件还是json格式的文件,文件格式都可以定义为text/plain,程序可以正常运行,那么这么区分又有什么意义呢?
rest服务器和客户端,并可以通过get和post发送简单的消息,但是在实际业务中,一般传送约定好的文件格式,
例如xml文件格式和json格式.
1.创建客户端,直接看代码.
package com.ilucky.rest.client;import java.util.HashMap;import org.apache.wink.client.Resource;import org.apache.wink.client.RestClient;import com.google.gson.Gson;/** * @author IluckySi * @date 20140328 */public class RestClientService {public static void main(String[] args) {try {RestClient restClient = new RestClient(); Resource resource = restClient.resource("http://192.168.72.153:8080/rest-server/rest/register");//传送xml文件格式的字符串.String xml = "<root>" +"<head>" +"<username>username</username>" +"<password>password</password>" +"</head>" +"</root>"; String xmResponse = resource.contentType("application/xml;charset=UTF-8").accept("application/xml;charset=UTF-8").post(String.class, xml); System.out.println("客户端收到服务器返回的信息: " + xmResponse); //传送Gson格式的字符串. Gson gson = new Gson(); HashMap<String, String> map = new HashMap<String, String>(); map.put("username", "username"); map.put("password", "password"); String json = gson.toJson(map); String jsonResponse = resource.contentType("application/json;charset=UTF-8").accept("application/aaa;charset=UTF-8").post(String.class, json); System.out.println("客户端收到服务器返回的信息: " + jsonResponse);} catch (Exception e) {e.printStackTrace();}}}2.创建服务器,注意如果写@Produces("*;charset=UTF-8")和@Consumes("*;charset=UTF-8"),
意思是说服务器端可以接受任何形式的文件.
package com.iluck.rest.server;import javax.ws.rs.Consumes;import javax.ws.rs.POST;import javax.ws.rs.Path;import javax.ws.rs.Produces;/** * @author IluckySi * @date 20140328 */@Path("/register")public interface RestServerService {@POST@Produces("*;charset=UTF-8")@Consumes("*;charset=UTF-8")public String register(String userInfo);}通过前面几个小例子,对基于wink的rest服务有了点了解,同时也存在很多问题,例如本例的客户端中我们无论是
传xml格式的文件还是json格式的文件,文件格式都可以定义为text/plain,程序可以正常运行,那么这么区分又有什么意义呢?
请继续关注以后的博客.
点击本链接下载源代码!
0 0
- 用maven创建基于wink的rest服务(四)-携带xml和gson的post请求
- 用maven创建基于wink的rest服务(三)-携带纯文本文件的post请求
- 用maven创建基于wink的rest服务(二)-携带参数的get请求
- 用maven创建基于wink的rest服务-下载zip文件的post请求(五)
- 用maven创建基于wink的rest服务(一)-get请求
- 用maven创建基于wink的rest服务-传送文件(字符串和字节数组)(一)
- Android自定义携带Cookie的POST请求
- UIWebView携带参数的POST请求
- 基于HTTP 协议的GET和POST请求服务
- Spring中应用Apache Wink创建REST服务
- RESTful Web 服务和 Apache Wink,第 1 部分: 构建 Apache Wink REST 服务
- 基于SAAJ的Web服务----(四)使用原始的XML源和DOM创建web服务客户端
- 利用Maven创建基于原型项目的Java REST项目
- 基于Spring 4.0和Servlet 3.0编写无XML配置的REST服务
- Rest 服务Get和Post的参数传值
- 基于REST的Web服务
- 基于WCF的REST服务
- 基于 REST 的 Web 服务
- java 查询目录下所有的文件(包含递归)
- 作为一个新人,怎样学习嵌入式Linux?
- qt工程引入opencv库步骤
- 网站发布,CSS文件和图片不能加载原因之一
- 父窗口与子窗口之间的传值
- 用maven创建基于wink的rest服务(四)-携带xml和gson的post请求
- 【求奇数阶幻方】 每一个数放在前一个数的右上一格。1、最小的数(这里为1)一般放在第一行的中间。2、如果这个数所要放的格子已经超出了顶行,就把它放在底行,仍然要放在右上方。3、4、5.....
- 海量数据处理面试题
- Matlab物化实验——雷诺法作图(固体和液体燃烧热的测定)
- ubuntu13.04搭建安卓开发环境(离线安装SDK,附下载地址)
- HTTP 请求、响应、缓存
- 批量导入DataTable到SQL Server中
- 资源访问机制之资源定义与解析流程
- 大二下(3):改革进入深水区...