2014-04-29 16 views
8

Theo ví dụ spring.io tại đây: http://spring.io/guides/gs/accessing-data-rest/ để lộ kho lưu trữ dưới dạng dịch vụ web còn lại hoạt động tốt, nhưng tôi không thể xem cách thay đổi URL của quảng cáo dịch vụ. Tài liệu API hơi mơ hồ về ý nghĩa của các tham số chú thích, có lẽ một số kiến ​​thức trước được giả định.Khởi động khởi động mùa xuân Dữ liệu Phần còn lại thay đổi URL của kho từ URI gốc

Điều tôi muốn - Dịch vụ HATEOAS được truy cập tại http://localhost:8080/api/people cho kho lưu trữ Mọi người. Tôi muốn đạt được URL này chỉ bằng cách sử dụng chú thích, không gây rối với ngữ cảnh gốc hoặc tương tự. Tôi cố gắng chú thích kho sau:

  • @RepositoryRestResource(collectionResourceRel = "api/people", path = "people")
  • @RepositoryRestResource(collectionResourceRel = "people", path = "api/people")
  • @RepositoryRestResource(collectionResourceRel = "api/people", path = "api/people")

Không ai trong số những công việc.

Tôi biết tôi có thể đã bỏ lỡ rõ ràng, nhiều người đánh giá cao những người có thể chỉ ra.

+0

thể trùng lặp của [mùa xuân dữ liệu phần còn lại con đường cơ sở] (http: //stackoverflow.com/questions/22024716/spring-data-rest-base-path) – JBCP

+0

trong đơn đăng ký của bạn.properties: spring.data.rest.base-path =/api source: http: // docs.spring.io/spring-data/rest/docs/current/reference/html/#_changing_the_base_u ri – CobraEnergyDrink

Trả lời

8

Tính đến Spring Boot 1.2 bạn có thể thiết lập thuộc tính này:

spring.data.rest.baseUri=api

Hoặc:

spring.data.rest.base-uri=api

(mùa xuân Boot sử dụng một hệ thống relaxed binding)

LƯU Ý: Tôi đã tìm thấy nếu bạn đã mở rộng RepositoryRestMvcConfiguration với cấu hình tùy chỉnh, thuộc tính sẽ không có hiệu lực. Để biết thêm thông tin xem:

https://github.com/spring-projects/spring-boot/issues/2392

Khi phiên bản tiếp theo của mùa xuân Boot được phát hành (sau 1.2.1), các giải pháp sẽ được mở rộng RepositoryRestMvcBootConfiguration để thay thế.

+0

Có lợi thế thực nào để thiết lập điều này trong một thuộc tính so với lớp của bạn mở rộng RepositoryRestMvcConfiguration không? –

+2

Đó là một chút sạch hơn và Springy kể từ khi bạn có thể có một tập tin thuộc tính ứng dụng anyway. Làm nó trong mã là gõ nhiều hơn và mã nhiều hơn cần được kiểm tra. Dựa vào quy ước mùa xuân có nghĩa là bạn không cần phải kiểm tra mã của riêng mình hoặc có thuộc tính khác. Cuối cùng, nó làm cho các nhà phát triển nội trú trở lên dễ dàng hơn, vì đó là quy ước chuẩn thay vì mã tùy chỉnh. Đối với tài sản này chính nó có lẽ không phải là một việc lớn, nhưng đó là nguyên tắc của nó – JBCP

+0

http://docs.spring.io/spring-boot/docs/1.2.x/reference/html/common-application-properties.html Đó là spring.data.rest.base-uri – adam0404

0

Tính đến mùa xuân Boot 1.4.3 mã nên được:

spring.data.rest.base-path:api 

(Tôi nghĩ baseUri bị phản đối từ 1.2.3)

+0

Chào mừng bạn đến với SO. Vui lòng đọc [cách trả lời] này (http://stackoverflow.com/help/how-to-answer) trong trường hợp bạn chưa đọc. – thewaywewere

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