Bộ xương máy chủ đặt trước (REST) cho Java

Bạn có thể tải máy chủ Kiến trúc chuyển trạng thái đại diện (REST) của chúng tôi xuống bằng cách sao chép kho lưu trữ

git clone https://maps-booking.googlesource.com/java-maps-booking-rest-server-v3-skeleton

Giới thiệu

Đây là hoạt động triển khai tham chiếu cho máy chủ Đặt trước API phiên bản 3 dựa trên:

  • google-protobuf
  • Dịch vụ web RESTful RESTful

Điều kiện tiên quyết

Yêu cầu cài đặt

Bắt đầu

  1. Sao chép giao diện proto vào một tệp proto (api_v3.proto). Sửa đổi gói cho phù hợp với dự án của bạn (com.partner.mapsbooking.v3.model).
  2. Tạo một dự án ứng dụng web trong IDE có tên booked_server_v3, thêm tính năng hỗ trợ Maven vào dự án này.
  3. Đặt tệp proto của bạn trong src/main/resources, thêm các phần phụ thuộc cho Jersey và các vùng đệm giao thức trong thời gian chạy của Maven pom.xml:
         <dependencyManagement>
             <dependencies>
                 <dependency>
                     <groupId>org.glassfish.jersey</groupId>
                     <artifactId>jersey-bom</artifactId>
                     <version>${jersey.version}</version>
                     <type>pom</type>
                     <scope>import</scope>
                 </dependency>
             </dependencies>
         </dependencyManagement>
    
         <dependencies>
             <dependency>
                 <groupId>org.glassfish.jersey.containers</groupId>
                 <artifactId>jersey-container-servlet-core</artifactId>
             </dependency>
             <dependency>
                 <groupId>org.glassfish.jersey.media</groupId>
                 <artifactId>jersey-media-json-jackson</artifactId>
                 <version>2.27</version>
             </dependency>
             <dependency>
                 <groupId>com.google.protobuf</groupId>
                 <artifactId>protobuf-java</artifactId>
                 <version>3.5.1</version>
             </dependency>
             <dependency>
                 <groupId>io.grpc</groupId>
                 <artifactId>grpc-protobuf</artifactId>
                 <version>1.11.0</version>
             </dependency>
         </dependencies>
    
         <properties>
             <java.version>1.8</java.version>
             <jersey.version>2.23.2</jersey.version>
         </properties>
    
  4. Thực thi lệnh sau trong src/main để tự động tạo một tệp nguồn cho các lớp được xác định trong tệp proto:

    protoc --java_out=java resources/api_v3.proto
    
    • Nếu triển khai chức năng danh sách chờ, hãy thực hiện thêm thao tác sau: protoc --java_out=java resources/waitlist.proto
  5. Bên trong src/main/java, hãy tạo một gói mới khớp với groupId của bạn (com.partner.mapsbooking). Truy xuất mã mẫu từ kho lưu trữ:

     git clone https://maps-booking.googlesource.com/java-maps-booking-rest-server-v3-skeleton
    

    đặt các tệp trong gói, làm theo TODO (VIỆC CẦN LÀM) để hoàn thành việc triển khai của bạn.

  6. Định cấu hình GVP của bạn bằng cách sửa đổi tệp web.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <servlet>
            <servlet-name>Booking Rest Server</servlet-name>
            <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
            <init-param>
                <param-name>jersey.config.server.provider.packages</param-name>
                <param-value>com.partner.mapsbooking</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>Booking Rest Server</servlet-name>
            <url-pattern>/mapsbooking/*</url-pattern>
        </servlet-mapping>
    </web-app>
    
  7. Trong Cấu hình chạy, hãy thiết lập cấu hình máy chủ Tomcat. Thêm tất cả các tệp jar vào thư mục /WEB_INF/lib (cấu trúc dự án -> cấu phần phần mềm -> Sau khi chọn tất cả các tệp jar và nhấp chuột phải, hãy chọn "Put in /WEB-INF/lib"
  8. Chạy Tomcat để khởi động máy chủ của bạn.

Cấu trúc thư mục cuối cùng

  src
  |---main
      |---java
          |---com.partner.mapsbooking
              |---rest
                  |---BookingService.java
                  |---BookingExceptionMapper.java
                  |---Error.java
              |---authentication
                  |---AuthenticationService.java
                  |---RestAuthenticationFilter.java
              |---v3.model
                  |---ApiV3.java
                  |---Waitlist.java
      |---resources
          |---api_v3.proto
          |---waitlist.proto
  |---test