请设计一个简单的Java服务,包括RESTful API和客户端调用

原创 忘是亡心i 2025-03-11 13:00 12阅读 0赞

服务名称:SimpleBookService

  1. 定义服务类(Server.java)
  1. import javax.ws.rs.GET;
  2. import javax.ws.rs.Path;
  3. import javax.ws.rs.Produces;
  4. @Path("/books")
  5. public class SimpleBookService {
  6. @GET
  7. @Produces("application/json") // Produce JSON content
  8. public BookList getBooks() {
  9. // Simulate book data retrieval from a database or external API
  10. BookList bookList = new BookList();
  11. bookList.add(new Book("Book1", "Author1")));
  12. bookList.add(new Book("Book2", "Author2")));
  13. return bookList;
  14. }
  15. }
  1. 定义客户端类(Client.java)
  1. import javax.ws.rs.client.ClientBuilder;
  2. import javax.ws.rs.core.Response;
  3. public class SimpleBookClient {
  4. private static final String BASE_URL = "http://localhost:8080/books/";
  5. public static void main(String[] args) {
  6. // Create a client instance using ClientBuilder
  7. Client client = ClientBuilder.newClient();
  8. // Call the RESTful API to get book list
  9. Response response = client.target(BASE_URL).request().get();
  10. if (response.getStatus() == 200) {
  11. System.out.println("Book List:");
  12. SimpleBookService.BookList bookList = response.readEntity(SimpleBookService.BookList.class));
  13. for (Book book : bookList.getBooks()) {
  14. System.out.println("- " + book.getName() + " by " + book.getAuthor()));
  15. }
  16. } else {
  17. System.out.println("Failed to get book list. Response status: " + response.getStatus());
  18. }
  19. // Close the client
  20. client.close();
  21. }
  22. }
  1. 启动服务和客户端(可选)

在命令行或IDE中执行以下操作:

  • 启动Java服务器:java -jar server.jar(假设server.jar是你的服务打包文件)
  • 启动客户端代码:java -jar client.jar(假设client.jar是你的客户端打包文件)

这样,你就可以通过HTTP请求调用SimpleBookService的RESTful API了。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,12人围观)

还没有评论,来说两句吧...

相关阅读