Tôi muốn triển khai dịch vụ web REST bằng cách sử dụng protobuf Java &.Dịch vụ web REST Java bằng cách sử dụng protobuf
Có ai có thể chỉ cho tôi nơi bắt đầu hoặc cách triển khai không? Bất kỳ hướng dẫn tốt ??
Cảm ơn!
Tôi muốn triển khai dịch vụ web REST bằng cách sử dụng protobuf Java &.Dịch vụ web REST Java bằng cách sử dụng protobuf
Có ai có thể chỉ cho tôi nơi bắt đầu hoặc cách triển khai không? Bất kỳ hướng dẫn tốt ??
Cảm ơn!
dưới đây hai bài viết cho bạn thấy chính xác này
Để bắt đầu đơn giản, bạn có thể viết một servlet đơn giản và trả lại seralization dữ liệu của bạn với protobuf. Đối với REST tôi thích RESTeasy. Có thể điều này sẽ giúp thêm: Google protocol buffers and servlets
Bạn có thể xem bên trong bài đăng cách chúng tôi có thể tạo dịch vụ web JX-RS đang tạo ra Buffer giao thức của Google để phản hồi. Mã nguồn có sẵn at my blog
những gì tôi đang làm là chuyển đổi đối tượng đệm giao thức thành mảng byte từ phía máy chủ và gửi là mảng qua dịch vụ: Mã dịch vụ bên dưới, điền đối tượng và đặt phản hồi.
UserDTO.User user = UserDTO.User.newBuilder(). //protocol buffer object
setSessionId(id).
setName("l070020").
build();
return Response.ok(user.toByteArray(),MediaType.APPLICATION_OCTET_STREAM).status(200).build();
Đối tượng đệm giao thức có khả năng phân tích và điền đối tượng đệm giao thức qua luồng. Vì vậy, tôi đang sử dụng bằng luồng để truyền dữ liệu. Về phía khách hàng tôi đang thực hiện kết nối đến dịch vụ web
HttpGet request = new HttpGet("http://localhost:8080/maven.work/service/mainServices/get_user");
request.addHeader("accept","application/octet-stream");
HttpResponse response = httpClient.execute(request);
Nghị định thư đệm đã được xây dựng trong phương pháp để phân tích dòng, dưới đây tôi đang phân tích dòng từ phản ứng
User user = User.parseFrom(response.getEntity().getContent());
Tương tự như vậy bạn có thể gửi các bộ đệm giao thức đối tượng dưới dạng mảng byte tới máy chủ và máy chủ có thể lấy nó từ luồng Yêu cầu Servlet HTTP và phân tích cú pháp giống như trình khách đang thực hiện.
Liên kết đơn lẻ được [coi là câu trả lời kém] (http://stackoverflow.com/faq#deletion) vì nó vô nghĩa bởi chính nó và tài nguyên đích không được đảm bảo sẽ còn sống trong tương lai. [Nó sẽ là thích hợp hơn] (http://meta.stackexchange.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây, và cung cấp liên kết để tham khảo. – j0k
Ngoài những gì j0k đã lưu ý ở trên, hãy chắc chắn đọc kỹ [FAQ on Self-Promotion] (http://stackoverflow.com/faq#promotion) một cách cẩn thận. Cũng lưu ý rằng nó là * bắt buộc * mà bạn đăng tuyên bố từ chối trách nhiệm mỗi lần bạn liên kết đến trang web/sản phẩm của riêng bạn. –
Trên liên kết ở trên tôi đã viết giải pháp và mã hoàn chỉnh, Nhưng nếu các bạn nghĩ rằng bài viết không được đảm bảo sẽ còn sống, tôi sẽ đặt các dòng hướng dẫn mã ở đây và đặt liên kết để tham khảo. Cảm ơn bạn đã hướng dẫn tôi. tôi mới ở stackoverflow. –