RESTful api,多种类型的用户访问问题? Api如下:
/ articles / 1 get
这意味着要收到一篇文章;
/**
* 获得文章
*
* @param authorId
* @param articleId
* @return
*/
@GetMapping("/articles/{articleId}")
public ArticleEntity getArticle(@CurrentAuthor AuthorEntity author,
@PathVariable("articleId") Integer articleId) {
// get one article for author
ArticleEntity article = articleService.get(author.getId(), articleId);
// get one article for visitor
// ArtilceEntity article = articleVisitorService.get(articleId);
return article;
}
对于文章查看者,您只能获取状态为已发布的文章。 对于本文的作者,您可以获得各种状态(草稿,已发布,可回收)文章。
在程序中我使用自定义注释@Authorization和Spring MVC拦截器来指定登录哪些控制器方法来访问,显然这种方法不适合这种方式。