2014-11-10 15 views
7

Tôi có một số dịch vụ vi mô được xây dựng với Khởi động mùa xuân, do đó, để có một chút thú vị, tôi nghĩ mình sẽ có thêm HATEOAS cho họ để giúp thiết lập chéo -kết nối nguồn. Dường như nó hoạt động khá độc đáo trong một dự án cụ thể, nhưng tôi đã tự hỏi liệu có một cách hay để liên kết qua các API hay không. Như một ví dụ, hãy tưởng tượng tôi có 3 dịch vụ:Liên kết dịch vụ chéo cho các dịch vụ vi mô HATEOAS

Một dịch vụ chi tiết người dùng: Code:

/users/{userid} 

Một dịch vụ sử dụng lịch: Code:

/users/{userid}/appointments 
/users/{userid}/appointments/{appointmentid} 

Một dịch vụ sử dụng tin nhắn: Mã số:

/users/{userid}/messages 
/users/{userid}/messages/{messageid} 

Để làm cho điều này có thể duyệt qua API, bạn nên có các liên kết từ tài nguyên người dùng đến các cuộc hẹn và tin nhắn của nó. Tương tự như vậy, nó sẽ được tốt đẹp để có liên kết trở lại từ những nguồn lực. Đây là tất cả rất có thể đạt được khi tôi có một API duy nhất với tất cả mọi thứ trên classpath, nơi tôi có thể viết mã như:

Code:

user.add(linkTo(methodOn(CalendarController.class).appointments(user.getKey())).withRel("appointments")) 

Tuy nhiên tôi không thể làm điều này nếu CalendarController là không phải trên đường dẫn của dịch vụ mà tôi hiện đang truy cập.

Có phương pháp tốt/được đề xuất nào để tạo liên kết đến các trình điều khiển không nằm trong dự án hiện tại không?

tham chiếu từ spring forums

+0

chúng tôi có cùng một vấn đề. Chúng tôi đã xem xét việc có một JAR xác định đường dẫn và chia sẻ cùng với các tài nguyên vạch trần đường dẫn và có các API nói chuyện với nhau. cả hai giải pháp đều có nhược điểm. Không thể đợi để xem bất kỳ câu trả lời nào về số này –

+0

Có cùng ở đây. Chúng tôi đang nghĩ đến việc phát triển DSL của riêng mình để xây dựng và chia sẻ liên kết. Trong trường hợp sử dụng của chúng tôi, các liên kết sẽ được chia sẻ với một nút sở thú mà các dịch vụ có thể yêu cầu các liên kết đến các tài nguyên khác. Nếu Spring HATEOAS cung cấp một giải pháp ngay bây giờ hoặc trong tương lai gần, nó sẽ là tốt đẹp để làm theo con đường đó cuối cùng. – keaplogik

+0

Tôi nghĩ rằng chúng tôi đang hỏi về cùng một điều. http://stackoverflow.com/questions/27790905/how-to-establish-relationships-between-spring-data-rest-spring-hateoas-based – code

Trả lời

1

Có lẽ đây là một chút tham gia nhiều hơn bạn đã hy vọng, nhưng như đã đề cập here, đây là Eureka là chính xác những gì cho. Nó cũng có sự tích hợp thực sự tốt đẹp với dự án Spring Cloud mới.

Các vấn đề liên quan