我最近尝试采用基于样式的方式接近我的Android应用程序.但是,我陷入了这种困境.
在我的布局文件中,我最初有这个:
<LinearLayout
android:id="@+id/layout_event_buttons"
style="?android:attr/buttonBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/btn_create_event"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/btn_save"
android:src="@drawable/content_save"
android:text="@string/btn_save" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
在我的styles.xml中,我尝试这样做没有运气:
<style name="Buttons" parent="?android:attr/buttonBarButtonStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以上不同的变体,如:
?android:buttonBarButtonStyle
?attr:buttonBarButtonStyle
@android:attr/buttonBarButtonStyle
@android:buttonBarButtonStyle
我也尝试过:
<item name="style">?android:attr/buttonBarButtonStyle</item>
Run Code Online (Sandbox Code Playgroud)
无济于事.
我的应用程序将无法编译,因为它无法找到buttonBarButtonStyle资源.
这就是我应用它的方式.如果我只是继承Holo等常见主题,我的其他风格也可以正常工作.
<ImageButton
style="@style/Buttons"
android:id="@+id/btn_create_event"
android:contentDescription="@string/btn_save"
android:src="@drawable/content_save"
android:text="@string/btn_save" />
Run Code Online (Sandbox Code Playgroud) 我们公司正计划将我们的微服务技术切换到 Spring Boot。作为一项倡议,我做了一些高级阅读,并记下了它的潜在影响和语法等价物。我还开始移植我们作为副项目的最小服务。
阻碍我进步的一个问题是试图将我们的 Json 请求/响应交换转换为 Spring Boot。
这是代码的示例:(这是不认识的人的 Nutz 框架)
@POST
@At // These two lines are equivalent to @PostMapping("/create")
@AdaptBy(type=JsonAdapter.class)
public Object create(@Param("param_1") String param1, @Param("param_2) int param2) {
MyModel1 myModel1 = new MyModel1(param1);
MyModel2 myModel2 = new MyModel2(param2);
myRepository1.create(myMode12);
myRepository2.create(myModel2);
return new MyJsonResponse();
}
Run Code Online (Sandbox Code Playgroud)
在 PostMan 或任何其他 REST 客户端上,我只需通过 POST:
{
"param_1" : "test",
"param_2" : 1
}
Run Code Online (Sandbox Code Playgroud)
我在 Spring Boot 中做到了这一点:
@PostMapping("/create")
public Object create(@RequestParam("param_1") String param1, @RequestParam("param_2) int param2) {
MyModel1 myModel1 = new MyModel1(param1); …Run Code Online (Sandbox Code Playgroud) 我在尝试基于文档的 feignclient 回退时遇到问题。
假设 myFeignClient 无法连接到 myFeign
@FeignClient(name = "myFeign", fallback = MyFeignClientFallback.class)
public interface MyFeignClient {
@PostMapping(“/test")
Object test(@RequestParam(“param1") String param1);
}
Run Code Online (Sandbox Code Playgroud)
我的后备类是这样的:
@Component
public class MyFeignClientFallback implements MyFeignClient {
public Object test(@RequestParam(“param1”) String param1) {
return “Error";
}
}
Run Code Online (Sandbox Code Playgroud)
它没有调用回退方法,而是彻底失败:
2018-05-07 15:19:48.052 错误 41592 --- [nio-8081-exec-6] oaccC[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] 在上下文中路径[]抛出异常[请求处理失败;嵌套异常是 java.lang.RuntimeException: com.netflix.client.ClientException: Load balancer does not have available server for client: myFeign] 具有根本原因
com.netflix.client.ClientException:负载均衡器没有客户端可用的服务器:myFeign
我已经让我的假客户工作了。当我遇到这个问题时,我正在尝试使用 Hystrix 的想法。
我是否错误地使用了它或我错过了什么?