假设我想创建一个非常简单的 todolist RESTful API,其中每个用户都拥有一个 todo 列表。用户已通过 http BASIC 或 DIGEST 进行身份验证。
在这一点上,我不确定 URL 方案应该是什么样子。可不可能是:
http://servername/todos/
我的服务器根据 http 标头给我的身份验证过滤适当的待办事项。
或者我应该在 URI 中包含用户名:
http://servername/users/username/todos/
在某些网站上,我什至看到他们将用户名作为参数传递,如下所示:
http://servername/todos?username=babsi
据我所知,所有三个选项都是无状态的,因为我总是收到用户名,但只是来自不同的来源。据我所知,为了确保正确的用户可以访问 URI,无论如何我总是需要检查 http 标头。那么,您认为哪种方式是 REST 中最好的 URI 设计,或者我应该完全采用不同的方式?