我使用spring和maven构建了一个RESTful服务,我还编写了一个安卓应用程序来访问我的网站,并且在应用程序的登录页面上有一个安全代码。
现在,我可以成功地从服务器获取安全代码映像并在登录页面上显示,但是当我向服务器发送正确的安全代码和帐户信息时,我发现生成安全代码时无法找到保存的安全代码。我将其作为属性保存到会话对象中,但结果却是不同的会话对象,因为下载安全代码和登录是两个不同的请求。我需要验证安全代码,所以我希望有人能帮助我回答以下问题:
Activity上显示它,如何将该图像返回到移动端?有没有更好的方法?
对不起我的英语,希望我已经清楚地描述了我的问题.
如有任何答复,将不胜感激。
发布于 2015-01-14 15:33:22
听起来,您需要对您的服务(因此也是您的客户)如何进行架构设计做出一些相当高的决定。
首先需要决定的是,您希望您的服务是有状态的还是无状态的。传统上,REST服务是无状态的,但是这些是您的服务,所以这是您的选择。
如果要使用有状态路由,请使用会话cookie。当从客户端接收到对安全代码映像的请求时,服务将开始会话。客户端将在收到来自服务的响应时设置cookie。该会话cookie将客户端的后续请求映射到会话,允许服务器将请求与安全代码相关联。
如果您正在进行无状态路由,则应该向客户端传递另一条信息,比如一些uuid。客户端的下一个请求将包含安全代码和uuid。服务器将保持uuid到安全映像的映射,允许它验证客户端的请求。
字节数组很好。Base64编码的字符串也能工作。您可能只需包含到图像的http链接即可。你说了算。
如果您的服务是有状态的,则应该使用会话cookie。您的Android客户端应该能够保留一个cookie存储库来保存会话cookie,并将其发送给每个请求。
如果您的服务是无状态的,并且不希望为每个请求发送用户名和密码,那么您将需要某种临时身份验证令牌。服务部门将负责终止该令牌。客户端将负责保存状态并将所有必要的信息传递给每个请求的服务。
Android已经具备了HTTP开箱即用的能力,如果你需要的话,有很多好的第三方库可以帮助你。但是,如果你愿意的话,Android也可以比HTTP更低。
你的问题很模糊。当然,大多数网络都是通过HTTP (使用REST或其他什么方式)完成的,但并不一定是这样。这取决于您如何决定您希望您的服务支持什么,然后使客户端符合它。如果你感觉特别受虐,你可以使用肥皂。你想要什么合同都可以。
REST是web服务非常常见的结构的原因是,它对HTTP规范是直观的,并且在大多数类型的客户机上很容易实现,还有其他原因。,
https://stackoverflow.com/questions/27944709
复制相似问题