我想将API请求1 :: 1映射为文件名。
这意味着,除其他外,将查询参数序列化为文件名安全的东西,理想情况下在Windows和* nix上。
如果api请求是这样的:
api/eggs/fresh?search=brown&order=asc
然后文件名可能是:
api/eggs/fresh?search=brown&order=asc.json
但是?
char和&
是不安全的,所以我想我必须对它们进行编码。
序列化必须是双向确定性的。我必须能够恢复数据。例如,将所有非法字符转换为_
将不符合此标准。
是正确的方法querystring.encode
吗?这用于编码URL,但如果%
是文件系统安全的,则可能有效。 How do I URl encode something in Node.js??或者有更适合文件系统的东西吗?
答案 0 :(得分:0)
我遵循这个过程:
&
加入params(我认为这在现代文件系统中是安全的)folder/resource
+ __&__
+ paramString
+ .json
如果有人使用__&__
作为实际查询的一部分,则会失败,但我认为这不太可能。不是最干净的解决方案,我会爱一个更好的解决方案!