restlet-jse

一、实体

Contact 

 

 

package com.tht.common;

import java.io.Serializable;

public class Contact implements Serializable {
	
	private int id;

	private static final long serialVersionUID = 1L;

	private int age;

	private String firstName;

	private Address homeAddress;

	private String lastName;

	public Contact() {
	}

	public Contact(String firstName, String lastName, Address homeAddress,
			int age) {
		super();
		this.firstName = firstName;
		this.lastName = lastName;
		this.homeAddress = homeAddress;
		this.age = age;
	}
	
	public Contact(int id,String firstName, String lastName, Address homeAddress,
			int age) {
		super();
		this.id=id;
		this.firstName = firstName;
		this.lastName = lastName;
		this.homeAddress = homeAddress;
		this.age = age;
	}

	public int getAge() {
		return age;
	}

	public String getFirstName() {
		return firstName;
	}

	public Address getHomeAddress() {
		return homeAddress;
	}

	public String getLastName() {
		return lastName;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public void setHomeAddress(Address homeAddress) {
		this.homeAddress = homeAddress;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	@Override
	public boolean equals(Object obj) {
	
		return super.equals(obj);
	}
	
	

}

 

 

二、实体  Address

 

package com.tht.common;

import java.io.Serializable;

public class Address implements Serializable {

    private static final long serialVersionUID = 1L;

    private String line1;

    private String line2;

    private String zipCode;

    private String city;

    private String country;

    public Address() {
    }

    public Address(String line1, String line2, String zipCode, String city,
            String country) {
        super();
        this.line1 = line1;
        this.line2 = line2;
        this.zipCode = zipCode;
        this.city = city;
        this.country = country;
    }

    public String getCity() {
        return city;
    }

    public String getCountry() {
        return country;
    }

    public String getLine1() {
        return line1;
    }

    public String getLine2() {
        return line2;
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public void setLine1(String line1) {
        this.line1 = line1;
    }

    public void setLine2(String line2) {
        this.line2 = line2;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

}
 

三、服务资源

 

package firstSteps;

import org.restlet.Application;
import org.restlet.Component;
import org.restlet.Restlet;
import org.restlet.data.Protocol;
import org.restlet.routing.Router;

import com.tht.resource.ContactServerResource;

public class FirstStepsApplication extends Application {

	
	 /**
     * Creates a root Restlet that will receive all incoming calls.
     */
    @Override
    public synchronized Restlet createInboundRoot() {
        // Create a router Restlet that routes each call to a new instance of HelloWorldResource.
        Router router = new Router(getContext());

        // Defines only one route
        router.attach("/hello", ContactServerResource.class);

        return router;
    }
    
   /* public static void main(String[] args) throws Exception {  
        // Create a new Component.  
        Component component = new Component();  
      
        // Add a new HTTP server listening on port 8182.  
        component.getServers().add(Protocol.HTTP, 8182);  
      
        // Attach the sample application.  
        component.getDefaultHost().attach("/firstSteps",  
                new FirstStepsApplication());  
      
        // Start the component.  
        component.start();  
    }          */
}
 

 

package com.tht.resource;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.restlet.resource.ServerResource;

import com.tht.common.Address;
import com.tht.common.Contact;
import com.tht.common.ContactResource;

public class ContactServerResource extends ServerResource implements
		ContactResource {
	
	
	public ContactServerResource(){
		
		 
		
	}
	 private static    Contact contact = 
	        new Contact("firstName1", "lastName1", new Address("Address1", "Address2", "20010", "city1", 
            "country1"), 10);

	
	 
	@Override
	public void remove(String key) {
		contact=null;

	}

	@Override
	public  Contact retrieve() {
		
		 return contact;
	}

	@Override
	public void store(Contact contact) {
		this.contact=contact;

	}
	
	

}
 

 

 

三启动服务

 

import org.restlet.Component;
import org.restlet.data.Protocol;

import firstSteps.FirstStepsApplication;

/**
 * 启动程序 开起服务http://localhost:8182/firstSteps
 * 
 *可以访问请求路径: http://localhost:8182/firstSteps/hello
 * @author think
 *
 */
public class Run {
	
	 public static void main(String[] args) throws Exception {  
	        // Create a new Component.  
	        Component component = new Component();  
	      
	        // Add a new HTTP server listening on port 8182.  
	        component.getServers().add(Protocol.HTTP, 8182);  
	      
	        // Attach the sample application.  
	        component.getDefaultHost().attach("/firstSteps",  
	                new FirstStepsApplication());  
	      
	        // Start the component.  
	        component.start();  
	    }          

}
 

 

四、启动客户端

package com.tht.client;

import com.tht.common.Contact;
import com.tht.common.ContactResource;
import java.io.IOException;
import java.util.List;
import java.util.Map;

import org.restlet.data.MediaType;

import org.restlet.resource.ClientResource;
import org.restlet.resource.ResourceException;

public class GetRequest {

	public static void main(String[] args) throws ResourceException,
			IOException {
		ClientResource cr = new ClientResource(
				"http://localhost:8182/firstSteps/hello");

		// Get the Contact object
		ContactResource resource = cr.wrap(ContactResource.class);

		Contact contact = resource.retrieve();

			if (contact != null) {
				System.out.println("firstname: " + contact.getFirstName());
				System.out.println(" lastname: " + contact.getLastName());
				System.out.println("      age: " + contact.getAge());
			}

		/*
		 * Map<String, Contact> contacts = resource.retrieve(); Contact
		 * contact=null; for(Object key : contacts.keySet()){
		 * System.out.println("key:"+key);
		 * 
		 * contact=contacts.get(key); System.out.println("value:"+contact); if
		 * (contact != null) { System.out.println("firstname: " +
		 * contact.getFirstName()); System.out.println(" lastname: " +
		 * contact.getLastName()); System.out.println("      age: " +
		 * contact.getAge()); }
		 * 
		 * }
		 */

		// In case the Contact object is not available
		// Get a JSON representation of the contact
		// System.out.println("\nJSON representation");
		// cr.get(MediaType.APPLICATION_JSON).write(System.out);
	}
}
 

delete

 

package com.tht.client;
import com.tht.common.Address;
import com.tht.common.Contact;
import com.tht.common.ContactResource;
import java.io.IOException;

import org.restlet.data.MediaType;

import org.restlet.resource.ClientResource;
import org.restlet.resource.ResourceException;

public class DeleteRequest {

    public static void main(String[] args) throws ResourceException,
            IOException {
        ClientResource cr = new ClientResource(
                "http://localhost:8182/firstSteps/hello");
        
        // Get the Contact object
        ContactResource resource = cr.wrap(ContactResource.class);
        Contact contact = 
	        new Contact("firstName1", "lastName1", new Address("Address1", "Address2", "20010", "city1", 
            "country1"), 10);
        
        resource.store(contact);
    
    }
}
 

 

put

 

package com.tht.client;
import com.tht.common.Address;
import com.tht.common.Contact;
import com.tht.common.ContactResource;
import java.io.IOException;

import org.restlet.data.MediaType;

import org.restlet.resource.ClientResource;
import org.restlet.resource.ResourceException;

public class PutRequest {

    public static void main(String[] args) throws ResourceException,
            IOException {
        ClientResource cr = new ClientResource(
                "http://localhost:8182/firstSteps/hello");
        
        // Get the Contact object
        ContactResource resource = cr.wrap(ContactResource.class);
        Contact contact = 
	        new Contact("firstName1", "lastName1", new Address("Address1", "Address2", "20010", "city1", 
	                    "country1"), 10);
        
        resource.store(contact);
    
    }
}
 

 

 

你可能感兴趣的:(restlet-jse)