Trong API RESTful của tôi, tất cả các tài nguyên đang mở rộng cơ sở ResourceSupport của Spring, để đảm bảo hiệu trưởng thù địch theo thiết kế. Ví dụ:Swagger và RESTful nguồn tài nguyên thù địch mùa xuân
public class PoolResource extends ResourceSupport {
private String name;
...
}
Tôi cũng đang sử dụng Swagger, và tôi đã tự hỏi: là nó có thể cấu hình các vênh vang-ui bằng cách nào đó, để bỏ qua các thuộc tính đến từ ResourceSupport?
(Swagger-ui cung cấp một lối vào thoải mái và dễ dàng của API. Là một trong những lợi ích chính của việc sử dụng Swagger, API là dễ hiểu và chơi xung quanh với các API cho những người, những người thậm chí không quen thuộc với REST API ... miễn là "liên kết" và "rels" đi vào hình ảnh.)
Nếu bạn không muốn hypermedia, tại sao bạn lại sử dụng Spring HATEOAS ngay từ đầu? Nếu bạn muốn hypermedia, tại sao bạn đang sử dụng Swagger (mà chủ động sublink hypermedia)? –
Tôi muốn hypermedia. Sau khi nghiên cứu các hiệu trưởng RESTful, tôi hiểu những lợi ích của việc có hypermedia, vì vậy tôi thực sự muốn thiết kế API [level 3] (http://martinfowler.com/articles/richardsonMaturityModel.html). Đó là lý do tại sao sử dụng Spring HATEOAS. Nhưng hầu hết người dùng API vẫn không nhận thức được hypermedia, và không hiểu tại sao nó lại tốt. Đối với họ, swagger cung cấp một cái nhìn rất tuyệt về API đầy đủ. Nó rất tốt để trình bày nó cho bất cứ ai, và dễ hiểu ngay cả từ bà ngoại của tôi đến một nhà phát triển cao cấp. Điều gì làm bạn có nghĩa là Swagger "subverts hypermedia"? – istibekesi
Hầu hết các câu trả lời đều khuyên tôi không nên sử dụng dao găm, [vinh quang của REST] (http://martinfowler.com/articles/richardsonMaturityModel.html) sẽ giải quyết hầu hết các câu hỏi của tôi. Được rồi, vì vậy hãy tưởng tượng, tôi vứt bỏ đi. Điều này dẫn tôi đến các câu hỏi như thế này: - Tôi có tài nguyên 'Pool'. Điều gì xảy ra nếu tôi có một hệ thống mới được cài đặt, mà không có bất kỳ cá thể hiện tại nào của hồ bơi, vì vậy tôi không thể GET một hồ bơi. Làm thế nào để tạo ra (POST) một hồ bơi hơn? Hồ bơi trông như thế nào? - Còn các trường tùy chọn thì sao? Xác thực? Bắt buộc ... etc? - Còn tài liệu "ngoại tuyến" thì sao? – istibekesi