问题标签 [spring-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2944 浏览

android - Create Android REST multipart request with one part image and one part json

I have a problem creating Multipart request with Rest template, spring-android and annotations. I have found many examples of using Multipart to upload image or String objects but I can't find any solution on implementing request that is one part image and second part json.

Request should be something like this

Header:

Body:

I have tried many variations and combinations... I create request with MultiValueMap but all my efforts end in server giving me Cannot consume content type error

If anyone know how to implement this plz do tell. And to clarify problem a little bit more, I cannot use any other libraries like apache mime nor old fashion MultiPartBuilder etc.

This is the most common example on the internet that has one part image and other part String.

0 投票
0 回答
210 浏览

android - 解析json内部arraylist时出现Nullpointer异常

我正在使用带有 SpringAndroid 的 RoboSpice 来解析 JSON 数据。即使我设法获取了几乎所有 JSON 对象,我也无法在主 json 对象中检索 json 对象的内部数组列表。

这是要解析的结果 JSON 的结构:

当我访问innerObject 的POJO 中的数据成员时,出现空指针异常。

innerList 的 POJO:

内部对象的 POJO

请求类如下

0 投票
0 回答
2125 浏览

android - 带有 ClientHttpRequestInterceptor 的 RestTemplate 导致 GZIP 压缩两次

我正在使用 ClientHttpRequestInterceptor 为我的 Android 项目中 RestTemplate 发出的每个请求添加一个基本授权标头。我还通过将 Content-Encoding 标头设置为“gzip”来压缩请求正文向 RestTemplate 添加拦截器会导致 request.execute 方法被调用两次;压缩身体两次。

拦截器:

休息模板设置:

我不认为这是预期的行为,我还没有发现其他人报告这个问题,所以我的拦截器实现有问题吗?我可以通过在设置 Authorization 标头时设置 Content-Encoding 标头来解决此问题,但这是不可取的

这是使用 spring-android-rest-template 依赖项的 1.0.1.RELEASE 版本。

0 投票
0 回答
395 浏览

json - 使用 RoboSpice 的 Json 数组问题

我正在尝试解析以下 JSON 数组:

我的Java代码:

结果:

“调用 Web 服务时发生异常。”

我该怎么办 ?

0 投票
1 回答
879 浏览

android - 使用spring android处理401错误的最佳方法

我有一个 android 应用程序,它使用 spring android 库与我的 restful api 进行通信。当我的客户的令牌过期时,我不确定如何处理这种情况。我想要的是捕获任何 401 错误并简单地获取一个新令牌并重试请求。

我创建了一个 ResponseErrorHandler 并将其连接到我的休息模板:

我的问题是我无法访问响应错误处理程序中的原始请求。除非我遗漏了什么,否则这个策略似乎是合理的,但我不确定如何让它发挥作用。对于任何使用 OAuth 令牌的客户端来说,这似乎也是一个典型的场景,所以希望有人可以为我指明正确的方向。

0 投票
2 回答
3447 浏览

spring-android - 使用 Spring Android RestTemplate 发送 Gzip 压缩数据?

当前的Spring Android 文档在第 2.2.2 节中说:

RestTemplate 支持发送和接收使用 gzip 压缩编码的数据。

但是,本文档在第 2.7.2 节中解释了如何接收 Gzip 数据,但没有关于发送 gzip 数据(使用 POST 或 PUT)。它是一个缺失的功能,所以介绍会是错误的吗?还是有一些秘密的方法来启用 gzip 压缩?

0 投票
1 回答
1460 浏览

spring - 自动装配 Spring 存储库时出错

我有一个实体“AppUser”的存储库,如下所示:

它被自动连接到我的 UserService 类中:

UserService 自动连接到我的 CustomUserDetailsS​​ervice 中,如下所示:

最后自动连接到 WebSecurityConfiguration 为:

更新:我遵循了这里的一些建议,并更新了错误和 WebSecurityConfiguration 文件,如上所示。

我现在得到的错误是:

所以,我认为我需要以某种方式做两件事:

  1. 为它提供一个 DataSource 类型的合格 bean(我认为 repo 应该符合条件,但不知何故不是)

  2. setFilterChainProxySecurityConfigurer. 不知道该怎么做。我按照教程创建了:

    要添加 SpringSecurityFilterChain,我假设我需要在这里调用 addFilter 但它需要一个过滤器类。我需要创建它吗?另外,这个初始化程序是由调度程序 servlet 自动拾取的,还是我需要以某种方式配置它?

0 投票
1 回答
4332 浏览

spring - 如何在基于 Spring 的服务器中进行 HTTP 基本身份验证会话

我正在尝试为 android 客户端创建一个 Spring 服务器并使用基本身份验证。我有一个控制器如下:

一旦客户端通过身份验证,在登录期间,我不希望它在调用 play 时需要重新验证。

我的安全配置是:

我尝试启用上面的会话,但是如果我尝试在登录和播放的请求处理程序中打印会话 ID,我会在使用身份验证登录后得到不同的 ID。我正在使用 HttpBasic 安全性。是否可以在 HttpBasic 安全中进行会话?我读了一些似乎表明它是无状态的并且不能的文章。有解决方法还是我必须切换到不同的安全模型?

客户端代码:

在客户端,我发送如下登录请求。

我正在尝试类似地编写“播放”的客户端代码,但不需要传递身份验证标头。我觉得,我应该以某种方式在请求标头中传递与会话相关的参数,以通知服务器它是同一会话的一部分,但无法弄清楚如何做到这一点。

0 投票
4 回答
39881 浏览

java - java.lang.IllegalArgumentException:索引 0 处的方案中存在非法字符:localhost

我正在开发一个从服务器(localhost - mssql 和 nodejs)接收数据、保存数据然后显示它的 android 应用程序

收到服务器响应后,我收到此错误

我按照下面的说明在此处输入链接描述,而不是我使用 localhost 的 Web 服务器。谢谢

0 投票
2 回答
2157 浏览

android - 在单元测试中使用 Robolectric 模拟休息 API 调用

大家好,我在单元测试中使用RobolectricMockito和 mockito,我已经到了需要验证依赖于 api 请求调用的数据的地步。

您如何编码以便在运行单元测试时您的 Rest api 调用将使用模拟数据?

在我的 StockFragment.java 中,我使用SpringAndroid + Robospice来执行 Rest Api 调用。
此外,如果请求成功与否,我在片段中还有一个 RequestListener(来自 Robospice)会更新片段中的 UI。

这是我的片段:

这是我的 Robolectric 测试课程。

我正在考虑的一种解决方案是在StockFragment中有 testMode标志,并执行一些条件语句,如果为真,则返回测试数据,但我认为有更好的测试方法。
我想我需要在我的测试类上监听 Http 请求并捕获该请求然后提供模拟数据,但我不确定。

注意:Robolectric 已设置并已确认工作和测试。虽然我没有将它们包含在上面的代码片段中。Roboguice 也用作注射剂。