MyEclipse开发教程:REST Web Service(二)

本教程示例将创建一个简单的Web服务来维护客户列表。

MyEclipse 在线订购年终抄底促销!火爆开抢>>

MyEclipse最新版下载

使用MyEclipse开发RESTWeb服务来放大您的Web应用程序。在本教程示例中,您将创建一个简单的Web服务来维护客户列表。你将学会:

  • 用于开发REST Web服务的过程
  • 部署到MyEclipse Tomcat服务器
  • 使用REST Web服务资源管理器进行测试

没有MyEclipse立即下载

3.为用户生成的方法提供实现

现在,您需要为您使用向导创建的方法提供实现。在真实的应用程序中,此时您可能使用JPA或Hibernate连接数据库,以帮助管理客户列表,但是对于本教程来说,简单的内存映射就足够了。

实现很简单;当服务接收到客户时,您给实体一个基于计数器的id,并将其添加到映射。通过id从这个映射中检索客户并提供客户列表非常简单,如下所示。

使用以下代码替换CustomersResource类中的内容。注意类和方法签名没有改变。您正在用服务的实现充实生成的存根。为了演示的目的,您还向列表中添加了一个客户。

package com.myeclipseide.ws;import java.util.ArrayList;import java.util.List;import java.util.TreeMap;import javax.ws.rs.Consumes;import javax.ws.rs.GET;import javax.ws.rs.POST;import javax.ws.rs.Path;import javax.ws.rs.PathParam;import javax.ws.rs.Produces;import com.sun.jersey.spi.resource.Singleton;@Produces("application/xml")@Path("customers")@Singleton  public class CustomersResource {private TreeMap<Integer, Customer> customerMap = new TreeMap<Integer, Customer>();public CustomersResource() {    // hardcode a single customer into the database for demonstration    // purposes      Customer customer = new Customer();        customer.setName("Harold Abernathy");        customer.setAddress("Sheffield, UK");        addCustomer(customer);    }@GET    public List<Customer> getCustomers() {        List<Customer> customers = new ArrayList<Customer>();        customers.addAll(customerMap.values());        return customers;    }@GET    @Path("{id}")    public Customer getCustomer(@PathParam("id") int cId) {        return customerMap.get(cId);    }@POST    @Path("add")    @Produces("text/plain")    @Consumes("application/xml")      public String addCustomer(Customer customer) {        int id = customerMap.size();        customer.setId(id);        customerMap.put(id, customer);        return "Customer " + customer.getName() + " added with Id " + id;    }  }

 

4.部署Web服务应用程序

部署Web服务的最快的方法是使用Run As或Debug As MyEclipse Server Application操作。

MyEclipse
  1. 右键单击项目,然后选择Debug As(或Run As)>MyEclipse Server Application。 MyEclipse部署和运行项目
  2. 选择MyEclipse Tomcat,然后单击Finish。
  3. 选择要部署的服务器

MyEclipse执行以下步骤:

  • 打包Web服务项目并将其以爆炸格式部署到应用服务器
  • 启动应用服务器并加载项目

MyEclipse Web Browser打开Web服务应用程序的默认index.jsp页面。您不需要它,因为您没有测试 页,所以可以关闭此视图。

5.使用REST Web服务资源管理器进行测试

REST Web服务资源管理器在MyEclipse标准订阅级别不可用。如果您是MyEclipse标准订户,请按照使用标准浏览器测试Web服务的说明操作。

  1. 右键单击restdemo项目,并选择MyEclipse>Test with REST Web Services Explorer。 MyEclipse
    打开REST Web Services ExplorerNote:如果将restdemo部署到MyEclipse Tomcat之外的应用服务器,则资源管理器中使用的WADL URL可能包含不正确的端口,从而阻止资源管理器加载WADL文件。更正端口,然后单击Go按钮继续。
    还可以通过单击工具栏上的Web Services Explorer图标MyEclipse REST Web Service上的下拉箭头,并选择Launch REST Web Services Explorer,打开REST Web Services Explorer。在这种情况下,在继续之前,必须在地址栏中输入WADL文件的路径。
  2. 将该树展开到{id}节点,并选择getCustomer方法。 MyEclipse选择要测试的方法
  3. 单击测试方法。将打开一个新选项卡,您可以在其中输入信息并运行测试。 MyEclipse用于测试方法的getCustomer选项卡
  4. 在id字段中键入0,然后单击Run Test图标MyEclipse REST Web Service。 MyEclipse检索列表中的一个客户
  5. 关闭getCustomer选项卡。
  6. 展开树中的add,选择addCustomer方法,然后单击Test method。
  7. 在Body中,键入addCustomer选项卡的application/xml区域,粘贴以下代码,然后单击按钮。
    <customer>    <name>Bill Adama</name>    <address>Vancouver, Canada</address></customer> 
  1. 回应形式,Customer Bill Adama added with Id 1. MyEclipse测试添加函数
  2. 关闭addCustomer选项卡。
  3. 在customers节点中选择getCustomers,然后单击Test method。
  4. 单击MyEclipse REST Web服务。列表中的两个客户由服务以XML形式返回。 MyEclipse检索整个客户列表

标签:Java开发工具MyEclipse

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年11月15日
下一篇 2018年11月16日

相关推荐

发表回复

登录后才能评论