如何使用Retrofit和RxJava / RxAndroid处理响应错误?

我无法通过改造和RxAndroid来解决如何处理响应错误的问题。 如果出现网络错误等,则调用onError(),但我需要能够获得响应以检查是否存在身份validation错误。 相反,我得到的是一个带有空字符串的令牌,我找不到原因。 最好的方法是什么? 这是我目前的RxAndroid电话。 Client.getInstance().getService() .getToken(usernameET.getText().toString(), passwordET.getText().toString()) .subscribe(new Subscriber() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(SiteInfo siteInfo) { Log.d(TAG, “onNext “+ token.toString()); } }); 这是我的改造服务 @GET(“my_url_here”) Observable getToken( @Query(“username”) String username, @Query(“password”) String password ); 这是我当前的restadapter RestAdapter restAdapter = new RestAdapter.Builder() .setLogLevel(RestAdapter.LogLevel.FULL) […]

具有身份validation的Spring Boot项目结构

我正在学习Spring启动及其模块,但我希望避免学习不良实践。 那么你能告诉我通常使用什么项目结构吗? 我正在使用这个结构: com +- example +- myproject +- Application.java | +- config | +- CustomSecurityConfig.java (extends WebSecurityConfigurerAdapter) | +- domain | +- Customer.java | +- repository | +- CustomerRepository.java | +- service | +- CustomerService.java | +- web +- CustomerController.java 现在我需要实现JWT身份validation,所以我有了新的类: 用于安全filter链的CustomAuthFilter.java AuthenticationManager的CustomUserDetailsS​​ervice.java CustomEntryPoint.java用于处理exception 用于管理jwt令牌的CustomJwtService.java 用于其他端点的CustomAuthController.java,如/ login,/ logout,/ create-user,/ reset-password 你能告诉我这个class的哪个店吗? 我有两个想法: 创建安全文件夹并将其放在一起 将文件拆分为现有文件夹,如:CustomAuthFilter.java […]

将参数从jsp传递给servlet

如何使用不属于任何forms字段的表单将参数从jsp传递给servlet而不使用session.i认为代码可能看起来像下面的示例,但不适用于me.plz帮助我。 在index.jsp中: – 在servlet.java:- int x=Integer.parseInt(request.getAttribute(“product_no”).toString());

使用elasticsearch对文本进行分类

我目前正在开发一个涉及从文本中识别不同“关键字”的项目。 作为示例,我们假设以下输入文本: “这是布宜诺斯艾利斯关于肉类的一些文字的例子”。 进一步假设我的elasticsearch实例存储了以下文档: 城市:[巴塞罗那,布宜诺斯艾利斯,洛杉矶……] 和 分类:[金融,政治,……] 我需要一种方法来从输入文本中识别相应的城市和类别。 我的第一种方法是使用“或”运算符进行搜索查询,并查看哪一个具有最高排名。 之后,我还将匹配的文件与文本重新匹配,以确保这些文本真的存在(换句话说,确保“洛杉矶”匹配,因为“洛杉矶”一词在文本中,只有“洛杉矶”或“洛杉矶)。 我想知道它是否是使用Elasticsearch做这种事情的最佳实践方式。

PrintWriter是BufferedWriter吗?

基本上我想知道PrintWriter是否是Buffered Writer。 我见过类似PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));代码PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); 但是从这个javadoc : 参数:file – 用作此writer的目标的文件。 如果该文件存在,那么它将被截断为零大小; 否则,将创建一个新文件。 输出将写入文件并进行缓冲。 一句话:我认为PrintWriter是缓冲的,因为javadoc“有点提到它”(参见引用),如果我不刷新PrintWriter它就不会打印出来。 你确认我的论文了吗? 在这种情况下,为什么有一些代码如下: PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); 遗留代码? 提前致谢。

创建一个控件似乎打破了JFX8上的透明阶段

上面的程序应该创建一个带有一些文本的透明舞台,但是舞台看起来不透明: public class Test extends Application { @Override public void start(Stage primaryStage) { new TextArea(); //Comment this out to enable transparency Stage stage = new Stage(); stage.initStyle(StageStyle.TRANSPARENT); Text text = new Text(“Is this transparent?”); VBox box = new VBox(); box.getChildren().add(text); final Scene scene = new Scene(box, 300, 250); scene.setFill(null); stage.setScene(scene); stage.show(); } } new TextArea()行是破坏事物的东西 […]

字符串索引超出范围

我试图让这个程序计算连续字符的数量,我得到的错误是:“字符串索引超出范围。” 谁能帮我解决这个问题? import javax.swing.*; public class Project0 { public static void main(String[] args){ String sentence; sentence = JOptionPane.showInputDialog(null, “Enter a sentence:”); /*Asks the user to enter a sentence*/ int pairs = 0; for (int i = 0; i < sentence.length(); i++){ //counts the pairs of consecutive characters if ( sentence.charAt(i) == sentence.charAt(i+1)) pairs++; } JOptionPane.showMessageDialog(null, […]

如何比较JSON文档并返回与Jackson或Gson的差异?

我正在使用spring-boot来开发后端服务。 有一种方案可以比较2-beans(一个是DB对象,另一个是客户端请求的对象)并返回“new element”,“modified element”,如果没有更改,则返回false。 2豆的格式如下 “sampleList”:{ “timeStamp”:”Thu, 21 Jun 2018 07:57:00 +0000″, “id”:”5b19441ac9e77c000189b991″, “sampleListTypeId”:”type001″, “friendlyName”:”sample”, “contacts”:[ { “id”:”5b05329cc9e77c000189b950″, “priorityOrder”:1, “name”:”sample1″, “relation”:”Friend”, “sampleInfo”:{ “countryCode”:”91″, “numberType”:”MOBILE”, “numberRegion”:”IN” } }, { “id”:”5b05329cc9e77c000189b950″, “priorityOrder”:1, “name”:”sample2″, “relation”:”Friend”, “sampleInfo”:{ “countryCode”:”91″, “numberType”:”MOBILE”, “numberRegion”:”IN” } } ] } 我在java中浏览了关于这种情况的bean比较的网络,但我找不到任何更简单的解决方案,但找到了一些很酷的JSON解决方案。 我可以看到GSON的一些解决方案,但它不会返回客户端对象包含“新元素”和“更改元素”。 有没有办法在JSON或JAVA中返回更新和修改过的元素? 你的帮助应该是值得的。 即使是暗示对我来说也是一个很好的开始。

使用GWT上传前检查文件大小

我正在使用FormPanel将文件上传到服务器。 我要做的是在上传之前确保文件大小小于给定大小(例如10MB)。 在服务器端,我有一个javax.servlet.http.HttpServlet,我在那里覆盖了doPost。 这里HttpServletRequest参数具有文件的大小,但问题是我没有到达doPost,直到文件已经上传。 因此,如果我选择上传1 GB文件,则在上传整个文件后,客户端收到的“文件太大”错误消息不会显示30秒左右。 在上传之前,有没有办法检查客户端的大小? 或者,如果数据大小超过特定大小,则让servlet抛出exception。

自动将ElasticSearch与SQL同步

我运行了这个查询,效果很好。 curl -XPUT ‘localhost:9200/_river/my_jdbc_river/_meta’ -d ‘{ “type” : “jdbc”, “jdbc” : { “url” : “jdbc:mysql://localhost:3306/test”, “user” : “myaccount”, “password” : “myaccount”, “sql” : “select * from orders” } }’ 一切似乎都被编入索引。 但是,当我从Orders表中更改数据时,更改并未反映ElasticSearch中的文档。 是否可以自动同步更新/更改的数据?