==== Lépések ====
1. Hozzunk létre egy dinamikus web projektet RestExample néven
2. WEBCONTENT/web.xml tartalma legyen a következő:
RestExample
javax.ws.rs.core.Application
/*
Ebben azt állítjuk be, hogy a beépített szervlet: javax.ws.rs.core.Application minden http kérést kapjon el.
3. Hozzuk létre a Book osztályt:
package com.unimiskolc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Book {
@XmlID
private String id;
@XmlAttribute
private String title;
@XmlAttribute
private String author;
public Book() {
}
public Book(String id, String title, String author) {
this.id = id;
this.title = title;
this.author = author;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
4. Hozzuk létre a BookStore osztályt:
package com.unimiskolc;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@Path("/")
@Consumes({ "application/xml", "application/json" })
@Produces({ "application/xml", "application/json" })
public class BookStore {
List books;
public BookStore() {
books = new ArrayList();
books.add(new Book("1", "Gárdonyi Géza", "Egri Csillagok"));
books.add(new Book("2", "Kiss Elek", "Az én könyvem"));
}
@GET
@Path("books")
public Collection getBooks(){
return books;
}
@POST
@Path("books")
public void addBook(Book book){
books.add(book);
}
@GET
@Path("book/{id}")
public Book getBook(@PathParam("id") String id){
for (Book book : books) {
if(book.getId().equalsIgnoreCase(id)) {
return book;
}
}
return null;
}
@PUT
@Path("book/{id}")
public void updateBook(@PathParam("id") String id, Book book){
}
@DELETE
@Path("book/{id}")
public void deleteBook(@PathParam("id") String id){
}
}
4. deploy után a http://localhost:8080/RestExample/book/2 címen a kettessel jelölt könyvet kapjuk vissza.
5. http://localhost:8080/RestExample/books url az összes könyvet visszadja