2016-02-18 29 views
5

Tôi đang cố chuyển Giao thức xuất bản Atom (RFC5023) sang thông số Swagger/OpenAPI để thực hiện viết các thông số kỹ thuật đó.Swagger: "đường dẫn tương đương đã tồn tại" mặc dù các tham số khác nhau

Tôi đã gặp sự cố sau: trong Atom có ​​các loại URI khác nhau, ví dụ: Bộ sưu tập và URI thành viên. Ý tưởng của tôi là ghi lại những nó như thế này:

paths: 
    /{CollectionURI}: 
    get: 
     summary: List Collection Members 
     ... 
    post: 
     summary: Create a Resource 
     ... 
    parameters: 
     - $ref: "#/parameters/CollectionURI" 
    /{MemberURI}: 
    get: 
     summary: Retrieve a Resource 
     ... 
    parameters: 
     - $ref: "#/parameters/MemberURI" 

Khi tôi làm điều đó, vênh vang-biên tập viên tuyên bố rằng

con đường tương đương đã tồn tại:/{MemberURI}

Đó là những các loại URI khác nhau trả về các thứ khác nhau khi được truy vấn. Tôi muốn gọi cho họ một cách khác nhau để tài liệu riêng cho họ.

Có cách nào để thực hiện việc này không?

Cảm ơn!

EDIT: Đặc tả hiển thị tốt trong Swagger-UI - đây có phải là lỗi trong trình chỉnh sửa hay giao diện người dùng chỉ bỏ qua lỗi của tôi không?

Trả lời

6

Đó là vì hai đường dẫn có thể giống nhau. Tôi hiểu rằng các tham số có thể nhận dạng duy nhất chúng, nhưng Swagger 2.0 không hỗ trợ các mẫu URI đầy đủ, và phần đường dẫn đơn độc được kiểm tra tính duy nhất. Vì vậy, chúng:

/{foo} 
/{bar} 

giống nhau, ngay cả khi foo phải là một chuỗi và thanh phải là số. Vui lòng thêm $ 0,02 của bạn vào số OpenAPI Specification Repo vì chúng tôi đang làm việc để hỗ trợ đường dẫn tốt hơn ngay bây giờ.

+1

Cảm ơn, tôi đã mở một vấn đề mới về github: https://github.com/OAI/OpenAPI-Specification/issues/576 – trilean

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