Rest Api最佳实践 – 以查询参数的forms传递date
我正在使用NodeJs写一个rest服务,并表示中间件。 我有下面的问题 –
-
我不得不在每个服务中使用userid和token进行身份validation,而不考虑
GET
,POST
,PUT
和DELETE
方法types。 采取这两个参数,即请求标题或查询参数的最佳方法是什么? 我不想把它作为身体参数,因为请求不会有身体。 -
我想写一个方法types为
GET
的服务的数据检索的服务,这个调用的参数是string和date。 我怎么把这个parameter passing给查询参数,具体来说date参数应该作为jsdate还是其他格式来传递呢?GET - https://localhost:someport/<objectid>/<createddate> headers - x-user-id:someid x-access-token:sometoken
如果这样的话,哪个格式的创builddate应该被传递。
或者我应该使用下面的一个?
GET - https://localhost:someport/ headers - x-user-id:someid x-access-token:sometoken x-object-id:someid x-created-date:somedate
请求标头是发送这类敏感信息的最佳位置。 标头在http请求的所有方法中都很常见。 因此,您不必担心GET
, POST
, PUT
。 如果你使用查询参数,那么在urls中我们会更丑陋。
此外,我不知道使用带有token
的UserID
。 因为在宁静的服务器中,我们也使用令牌来标识用户。 因此,一般我们不发送用户ID。
其余APIdevise的最佳实践是,将不敏感用户信息的参数公开为查询参数。 所以用户ID和令牌像东西应该在头和其他事情可以去请求参数。
select头中只有用户标识和标记的第一个。