第一次做app的API开发,遇到的第一个问题就是:我的sessionid哪儿去了?
实现的一个功能是:短信验证功能,大体流程图如下:
问题的产生就发生在提交验证的时候,客户端并未通过header头带过来sessionid。那么这个时候,服务端就不知道该从哪一个session会话中取出值来进行判断。所以问题的解决核心点就是这个sessionid哪儿去了?以前只做PC端的时候,从来不怎么关心这个问题,因为浏览器自己就帮我们把这些事情搞完了。
解决办法一:
首先声明这个错误并不是由于服务端的错误,服务端还是可以像正常的PC端开发时候一样进行编码,当然在这里你也可以在使用session的时候,给sessionid取个名字,然后发送到客户端,你们每次都彼此维护这个sessionid。这是一种解决办法。
解决办法二:
修改客户端请求get或者post请求的header头。将sessionid设置到cookie中去。这里需要注意的一个问题是:在设置的时候要确保这个sessionid的唯一性,否则服务端依然无法定位到哪一个session会员中去。
另外备注:在我的项目中,只有android端出现了这个问题,IOS端没有出现这种sessionid丢失的情况,IOS使用的框架是AFNetWorking 。我想框架内部必然做了些什么。
API开发第一篇:关于session的APP服务端API开发
原文:http://blog.csdn.net/hel12he/article/details/43456279