请设计一个简单的Java服务,包括RESTful API和客户端调用
服务名称:SimpleBookService
- 定义服务类(Server.java)
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/books")
public class SimpleBookService {
@GET
@Produces("application/json") // Produce JSON content
public BookList getBooks() {
// Simulate book data retrieval from a database or external API
BookList bookList = new BookList();
bookList.add(new Book("Book1", "Author1")));
bookList.add(new Book("Book2", "Author2")));
return bookList;
}
}
- 定义客户端类(Client.java)
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.Response;
public class SimpleBookClient {
private static final String BASE_URL = "http://localhost:8080/books/";
public static void main(String[] args) {
// Create a client instance using ClientBuilder
Client client = ClientBuilder.newClient();
// Call the RESTful API to get book list
Response response = client.target(BASE_URL).request().get();
if (response.getStatus() == 200) {
System.out.println("Book List:");
SimpleBookService.BookList bookList = response.readEntity(SimpleBookService.BookList.class));
for (Book book : bookList.getBooks()) {
System.out.println("- " + book.getName() + " by " + book.getAuthor()));
}
} else {
System.out.println("Failed to get book list. Response status: " + response.getStatus());
}
// Close the client
client.close();
}
}
- 启动服务和客户端(可选)
在命令行或IDE中执行以下操作:
- 启动Java服务器:
java -jar server.jar
(假设server.jar是你的服务打包文件) - 启动客户端代码:
java -jar client.jar
(假设client.jar是你的客户端打包文件)
这样,你就可以通过HTTP请求调用SimpleBookService的RESTful API了。
还没有评论,来说两句吧...