2015-04-01 31 views
1

我想用文件名映射API請求1 :: 1。將查詢參數序列化到文件名

這意味着,除其他外,將查詢參數序列化爲安全的文件名,最好在Windows和* nix上。

如果API請求是這樣的:

api/eggs/fresh?search=brown&order=asc 

那麼文件名可能是:

api/eggs/fresh?search=brown&order=asc.json 

?焦炭,也許是&是不安全的,所以我必須要對其進行編碼,我認爲。

序列化必須是雙向確定性的。我必須能夠將數據返回。例如,將所有非法字符轉換爲_將不符合此標準。

正確的方法querystring.encode?這是爲了對URL進行編碼,但如果%是文件系統安全的話可能會工作。 How do I URl encode something in Node.js??還是有更適合文件系統的東西?

回答

0

我下面這個過程:

  1. 獲取文件夾+資源名
  2. 獲取則params的數組中的請求
  3. 按字母順序排列PARAMS(所以順序無所謂)
  4. 加入PARAMS與&(我認爲這在現代文件系統中是安全的)
  5. Concat folder/resource + __&__ + paramString + .json

如果有人使用__&__作爲實際查詢的一部分,這會失敗,但我認爲這不太可能。不是最乾淨的解決方案,我更喜歡更好的解決方案!