簡體   English   中英

REST URL參數命名約定

[英]REST url param naming convention

我有一個REST電話來搜索學生

/生?名稱=無=

名稱和否是可選的。

我正在搜索包含名稱的學生。 即,如果我發送name =“ sh”,它將返回名稱包含 “ sh”的所有學生。

不,它不是以“ s”開頭的,即如果“ no = 10”,它將返回所有沒有以“ 10” 開頭的學生

這些參數的標准命名約定是什么。 我能說......么

/生?nameContains = noStartsWith =

要么

/生?名稱=無=

哪一種是正確的方法?

對於查詢參數,沒有標准的命名約定。 在您的特定情況下,這取決於將來需求的可能性。 如果只是nameContains ,那比name更好。 但是,如果你要需要nameContainsnameStartsWithnameEndsWith等,那將變得混亂很快。 然后,您應該考慮使用指定搜索條件的單獨資源或在name添加通配符,例如:

?name=Bob*  <!-- name starts with Bob -->
?name=*h   <!-- name ends with h -->
?name=Sa?  <!-- name has three letters and starts 'Sa' --> 

對於真正復雜的情況,您需要考慮支持正則表達式或使用現有庫來處理搜索。 還考慮一下是否需要支持?nameIgnoreCase ,這將強烈支持通配符而不是多個查詢參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM