Resteasy配置及其使用

      resteasy秉承restful风格,它的简单已配置比使用servlet更加方便。它支持PUT   、 POST 、  GET  等常用HTTP请求方式,并且提供annotation的 Java类可配置功能将Java对象数据JSON转化。

1、访问方式

  PUT    POST   GET   (常用HTTP请求方式)
2、下载资源jar包支持[如图]

3、web.xml配置

<context-param>
		<param-name>resteasy.resources</param-name>
		<param-value>com.rest.UserService</param-value>
	</context-param>
	
	<context-param>
		<param-name>resteasy.servlet.mapping.prefix</param-name>
		<param-value>/service</param-value>
	</context-param>


	<listener>
		<listener-class>
			org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
		</listener-class>
	</listener>


	<servlet>
		<servlet-name>Resteasy</servlet-name>
		<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
	</servlet>


	<servlet-mapping>
		<servlet-name>Resteasy</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
4、编写控制访问
package com.rest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
//import javax.ws.rs.FormParam;//获取表单参数
import javax.ws.rs.Produces;
//import javax.ws.rs.core.Context;//请求上下文HttpServletRequest
//import javax.ws.rs.QueryParam;//用于获取数据库查询参数
@Path("userservice")
public class UserService {
	/**
	 * 初始化用户数据
	 */
	static Map<Integer,Object> map=new HashMap<Integer, Object>();
	
	static{
		User user1=new User("linda","623423","163242@ms.com",23,"female");
		map.put(1, user1);
		User user2=new User("veppa","734423","7d3242@ms.com",21,"male");
		map.put(2, user2);
		User user3=new User("nokka","973423","1fddf2@ms.com",23,"female");
		map.put(3, user3);
	}
	
	/**
	 * 获取指定Id的用户信息
	 * @param id
	 * @return
	 */
	@GET
	@Path("user/{id}")
	@Produces("application/json")
	public User getById(@PathParam("id") Integer id) {
	    return (User) map.get(id);
	}
	
	/**
	 * 获取所有用户列表的JSON数据
	 * @return
	 */
	@GET
	@Path("users")
	@Produces("application/json")
	public List<User> getUsers() {
		List<User> users=new ArrayList<User>();
		for(Integer index: map.keySet()){
			User user=(User) map.get(index);
			users.add(user);
		}
	    return users; 
	}
	
	/**
	 * 获取的用户传入的信息
	 * @param msg
	 * @return
	 */
	@GET
	@Path("user/trans/{msg}")
	public String  getMessage(@PathParam("msg") String msg) {
	    return "[Hello dear! ]"+",MSG:{"+msg+"}";
	}


}
5、测试
  输入访问:http://localhost:8080/resteasy/services/userservice/users
 打印结果: [{"email":"163242@ms.com","age":23,"gender":"female","name":"linda","password":"623423"},
 {"email":"7d3242@ms.com","age":21,"gender":"male","name":"veppa","password":"734423"},
 {"email":"1fddf2@ms.com","age":23,"gender":"female","name":"nokka","password":"973423"}]
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值