我正在帮助为文件构建相似性搜索服务。搜索内容的一种方法是使用GET请求,通过提供文件的URL,但我还需要允许客户端直接发送文件。我必须遵循以下选项:
让客户端发送带有有效负载的GET请求;似乎不建议这样做 - HTTP GET with request body
使用除GET之外的其他内容(可能是PUT?)进行基于文件的搜索。问题是其他HTTP方法似乎都不适合这个目的。
哪种选择最适合这里?我不是这个领域的专家,我无法弄清楚在这种情况下做什么是正确的。
答案 0 :(得分:1)
以下是我一直遵循REST的规则。
GET - 仅查询数据并返回数据集。 POST - 在数据库中创建数据 PUT - 修改数据 DELETE - 销毁数据库中的数据。
如果要为搜索参数发送有效负载,则可以执行GET并将这些参数(假设它们是名称/值对)放在URI的查询字符串中。
即。 http://my.simsearch.com?param1=first¶m2=second ......
如果您确实要更改数据库,则按顺序执行POST或PUT。
我希望这会有所帮助。
答案 1 :(得分:0)
我最终通过GET请求发送了有效负载。虽然不是真的推荐,但希望没有图书馆会抱怨这个。