通过<用maven创建基于wink的rest服务(一)(二)>的学习,我们知道了如何构建一个非常简单的
rest服务器和客户端,但是服务端只能处理简单的get请求,出于安全方面的考虑我们一般采用pose请求.
如下的小例子是通过post请求向服务器传递纯文本文件.
rest服务器和客户端,但是服务端只能处理简单的get请求,出于安全方面的考虑我们一般采用pose请求.
如下的小例子是通过post请求向服务器传递纯文本文件.
1.创建客户端,针对post请求要设置resource.contentType("text/plain;charset=UTF-8").accept("text/plain;charset=UTF-8").
package com.ilucky.rest.client;
import org.apache.wink.client.Resource;
import org.apache.wink.client.RestClient;
/**
* @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");
String response = resource.contentType("text/plain;charset=UTF-8").accept("text/plain;charset=UTF-8").post(String.class, "注册信息");
System.out.println("客户端收到服务器返回的信息: " + response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
2.创建服务器,针对post请求同样要设置@Produces("text/plain;charset=UTF-8")和@Consumes("text/plain;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("text/plain;charset=UTF-8")
@Consumes("text/plain;charset=UTF-8")
public String register(String userInfo);
}
package com.iluck.rest.server;
/**
* @author IluckySi
* @date 20140328
*/
public class RestServerServiceImpl implements RestServerService {
private static RestServerServiceImpl instance = null;;
public synchronized static RestServerServiceImpl getInstance() {
if(instance == null) {
instance = new RestServerServiceImpl();
}
return instance;
}
public String register(String userInfo) {
System.out.println("服务器收到客户端发送的注册信息: " + userInfo);
return "注册成功";
}
}
点击链接http://download.csdn.net/detail/sidongxue2/7113773下载源代码!
总结:如上是用maven创建的一个基于wink的rest服务的小例子,希望能帮助到您!