2015-08-01 23 views
6

Sự khác nhau giữa việc sử dụng: body-params và: form-params trong thực tế khi tạo API bằng compojure-api là gì? Ví dụ:: body-params vs: form-params trong compojure-api

(POST* "/register" [] 
    :body-params [username :- String, 
        password :- String] 
    (ok))) 

vs

(POST* "/register" [] 
    :form-params [username :- String, 
        password :- String] 
    (ok))) 

Cái nào nên được sử dụng cho một API đó sẽ được tiêu thụ bởi một ứng dụng clojurescript một trang duy nhất và/hoặc ứng dụng di động có nguồn gốc?

Trả lời

7

Nó đã làm với các kiểu nội dung được hỗ trợ:

  • form-params đang dự định sẽ được sử dụng với nội dung kiểu "application/x-www-form-urlencoded" (một hình thức)
  • body-params là dự định sử dụng cho các thông số cũng sẽ được đặt trong cơ thể với các loại nội dung khác (edn, json, transit, vv).

Bạn sẽ muốn sử dụng :body-params để sử dụng từ ứng dụng dành cho thiết bị di động hoặc clojurescript của mình.

Sử dụng form-params hoặc body-params sẽ ảnh hưởng đến cách tham số được xác thực, từ phần nào của yêu cầu được thực hiện và cách tạo tệp swagger.json nếu bạn sử dụng tiện ích mở rộng.

Nhiều thứ trong compojure-api rất khó hiểu mà không cần ánh xạ chúng đến các khái niệm trong vênh vang. Looking into the code, chúng tôi tìm các cụm từ vênh vang như "tiêu thụ" hoặc "formData" có thể được tìm thấy trong the swagger parameter specs.

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