大家好!我在写一个个人博客,博客平台允许多个作者,现在设计dao接口遇到问题,当我删除一篇文章的时候是否应该传递作者id,代码如下:
方式一
// 防止其他作者通过修改id参数删除文章,需要在service中,先判断该文章是当前作者的
int deleteById(Integer id);
方式二
// 删除文章,依据编号和作者编号
int deleteByIdAndAuthorId(Integer id, Integer authorId);
请问该怎么做,给我点建议?
3 回答

守着一只汪
TA贡献1872条经验 获得超3个赞
个人感觉,
如果一篇博客对应一个作者的话,可以直接考虑方式二,
实现起来逻辑较简单,同时能减少数据库查询次数。
如果系统考虑到除作者之外还有其他管理员能对博客系统进行操作,考虑方式一,
这样扩展性好,当修改删除需求时较方便。
——一个没做过博客系统的人的猜想

翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
防止其他作者通过修改id参数删除文章,需要在service中,先判断该文章是当前作者的
这个操作,无论如何传参,你都是要检查的。
那么问题就简单了,问题就变成了从session取authorId,还是从query string里面取authorId。
根据我用了多年的博客的经验。流行的博客程序是两个参数都从query string里面传递
。但是,不是强制的。也就是你只传postId也是可以的。之所以这样做。是为了有更多的参数可以供自定义url
格式使用。
添加回答
举报
0/150
提交
取消