Closed gmono closed 7 years ago
@gmono demo里为了方便调试没有加密,上线前起码都要在前端/客户端加密后上传,如果需要更加安全,可以服务器再加密一次。可以用传统的MD5或者比较新的哈希加密等,具体看对安全要求多高。 另外密码只允许上传(POST)不允许下载(GET),服务端的demo目前就是这样实现的
@gmono 有些数据是需要登录后才能操作(增删改查)的,因为服务端做了类似以下的权限配置
@MethodAccess(
POST = {LOGIN} //其实不用写这句,MethodAccess默认就是写操作都必须登录
)
public class Comment {
}
这就需要先访问 base_url/login 接口(用传统RESTful实现的,传参类型是JSON),才能再访问需要登录的数据,例如
Method: POST URL: base_url/login Body:
{
"phone": "13000082001",
"password": "123456"
}
然后新增一条评论 Method: POST URL: base_url/post Body:
{
"Comment": {
"userId": 82001,
"momentId": 12,
"content": "测试新增评论"
},
"tag": "Comment"
}
成功结果:
{
"Comment": {
"code": 200,
"msg": "success",
"id": 1503234961450,
"count": 1
},
"code": 200,
"msg": "success"
}
如果没有登录,则是返回失败结果:
{
"Comment": {
"userId": 82001,
"momentId": 12,
"content": "测试新增评论"
},
"code": 401,
"msg": "Comment 不允许 UNKNOWN 用户的 POST 请求!"
}
为了使用方便与提升性能,最新版APIJSON的几乎所有接口已经全走HTTP POST通道了,只剩下为了兼容文档里测试链接的get和head
你这个整个后端都是基于 springboot写的吗?
那个 MethodAccess注解是继承的 Entity注解吗 可以像正常 spring boot中的实体类一样写Comment 吗
@gmono 对,是基于SpringBoot,不过其实关系并不大,因为只是用它实现了HTTP传输,换个框架,甚至换成TCP,UDP等传输协议都没关系,接收到请求后把Parser.parse函数的返回值返回就行了。 MethodAccess没有继承Entity,就是一个普通的权限注解,除了要加上MethodAccess注解,Comment等model都可以和原来一样,包括成员变量,getter,setter等,毕竟APIJSON请求里的字段都是默认和数据库表字段对应的,和model(JavaBean)没啥关系,除非你转成JavaBean
demo 里写的那个是明文发用户名密码吗,还是说内部有一套专门用于身份验证的机制?