Jersey复杂案例 完整的增删改查Restful服务

版权声明:本文为博主原创文章,如需转载,请加上原博地址 https://blog.csdn.net/qq_28334711/article/details/53159203

Jersey复杂案例 完整的增删改查Restful服务

第一章的入门案例我们可以完成一个简单的HelloWorld程序,下面我们来演示下相对较为复杂的RESTful服务,实现简单学生信息的增删改查。
整个项目框架是在chapter1-3的基础上开发。

Student类的定义

这里写图片描述

StudentResource服务提供

import cn.lx.entity.Student;

import javax.ws.rs.*;
import java.util.*;

/**提供学生增删改查的接口服务
 1. Created by lxliuxuan on 2016/11/14.
 */
@Path("/student")
public class StudentResource {
    private static Map<String,Student> map = Collections.synchronizedMap(new HashMap<String, Student>());

    /**
     *
     * 获取所有学生信息的方法
     * @return
     */
    @GET
    @Path("/getAll")
    public List<Student> getAll(){
        List<Student> lists = new ArrayList<Student>(map.values());
        return lists;
    }

    /**
     * 根据id获取学生信息
     * @param id
     * @return
     */
    @GET
    @Path("get/{id}")
    public Student getById(@PathParam("id") String id){
        Student student = map.get(id);
        return student;
    }

    /**
     * 添加学生信息 通过json
     * @return
     */
    @POST
    @Path("/addByJson")
    public String addByJson(Student student){
        map.put(student.getId(),student);
        return "success";
    }

    /**
     * 通过form添加学生信息
     * @param id
     * @param name
     * @param age
     * @return
     */
    @POST
    @Path("/add")
    public String add(@FormParam("id") String id,
                      @FormParam("name") String name,
                      @FormParam("age") Integer age){
        Student student = new Student();
        student.setId(id);
        student.setName(name);
        student.setAge(age);
        map.put(id,student);
        return "success";
    }
    /**
     * 根据id删除学生信息
     * @param id
     * @return
     */
    @DELETE
    @Path("/delete/{id}")
    public String deleteById(@PathParam("id") String id){
        map.remove(id);
        return "success";
    }
}

测试项目

为了更加方便的测试项目,我们使用谷歌浏览器+PSOTMAN(谷歌浏览器插件)进行测试。
postman的使用参见http://jingyan.baidu.com/article/90808022ff18defd91c80f9a.html
启动项目Main方法, 访问http://localhost:8080/application.wadl,
看到对应的wadl信息,表示服务启动并提供成功,即可进行响应的测试。
需要注意的是
1. 增加学生信息
本次提供的接口,使用两种方式来接收传递过来的参数,封装数据。
1.1 使用表单提交数据,FormParam接收数据
这里写图片描述
postman的请求操作 返回success表示操作完成,数据添加成功。
这里写图片描述
1.2 json提交数据,DTO接收
本次仍使用Student类进行接收参数,没有单独的去写新的DTO。
这里写图片描述
这里写图片描述
2. 查询学生信息
Jersey框架,默认会将返回对象转换为json数据。所以用浏览器访问http://localhost:8080/getAll或者http://localhost:8080/get/1,可以看到下面两个结果。
这里写图片描述
这里写图片描述
3. 删除学生信息
这里写图片描述

上面的程序实现了基本的增删改查,后期会对Jersey框架更多的功能进行讲解。
接口服务在开发中使用了大量的注解,在下一章节,我会具体的介绍每个注解的使用方法和场景。

Jersey系列相关源码请访问:Jersey_learing项目

展开阅读全文

没有更多推荐了,返回首页