小编use*_*629的帖子

如何将客户端证书添加到 Spring WebClient?

我正在构建一个 Spring WebClient,它在内部调用托管在不同服务器中的 REST API。为此,我需要向每个握手请求发送公钥 (.cert) 和私钥 (.key)。我不确定如何使用 Spring WebClient 做到这一点。

我尝试设置 WebClient,但对添加这种代码的和平感到震惊

网络客户端生成器

this.webCLient = WebClient.builder()
                .baseUrl("https://some-rest-api.com")
                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString())
                .build();
Run Code Online (Sandbox Code Playgroud)

实际通话

this.webClient.get()
                .uri("/getData")
                .exchange()
                .flatMap(clientResponse -> {
                    System.out.println(clientResponse);
                    return clientResponse.bodyToMono(MyClass.class);
                });

Run Code Online (Sandbox Code Playgroud)

由于没有向请求添加证书,我在日志中收到握手错误

javax.net.ssl.SSLException: Received fatal alert: handshake_failure
Run Code Online (Sandbox Code Playgroud)

如何将这些证书添加到 WebClient 请求中,所以我没有收到此错误?我有证书,但不知道如何添加它。

java ssl spring spring-webflux

7
推荐指数
2
解决办法
5739
查看次数

C# Windows 应用程序可以使用 oAuth 吗?

我有一个用 C# 开发的 Windows 应用程序。我需要在那里执行 Google oAuth,以便我获取他们的个人资料。我不想让用户在我的 Windows 应用程序中输入他们的 Google 用户名和密码(当然用户不希望那样)。

我怎样才能做到这一点 ?

我尝试了 1.) 能够从我的 Windows 应用程序打开 Google 身份验证页面,但无法弄清楚如何将访问令牌传递给我的 Windows 应用程序。

任何输入/建议?

c# oauth winforms oauth-2.0

5
推荐指数
1
解决办法
7159
查看次数

DeferedResult 和 CompletableFeature 之间的区别

我一直在用 Java 开发 Rest API。我想将它们转换为异步。我看到的两个选项是 DeferredResult 和 CompletableFeature。

我似乎没有找到这两者之间的区别,以及何时选择另一个。

任何实时示例将不胜感激。

java api rest multithreading asynchronous

4
推荐指数
1
解决办法
3254
查看次数

Java Predicate实现无法访问全局final变量

我使用 java 和 springboot 创建了一个简单的休息服务。这是我的服务层代码

@Service
class MyService {
    private final TestService service;

    @Autowired
    public MyService(final TestService service) {
        this.service = service;
    }

    // here is the issue
    private final Predicate<User> userPredicate = (user) -> this.service.isValidUser(user);
}
Run Code Online (Sandbox Code Playgroud)

在上面的行中,抱怨变量服务的 ide 可能未初始化,并且我无法在谓词实现中使用它。我尝试删除服务中的final,这有效,但我不想删除TestService 声明中的final。

有人有什么解决办法吗?

java lambda

4
推荐指数
1
解决办法
345
查看次数

后端Web开发与前端Web开发的未来

我从2009年到2012年为C#,ASP.NET,JSP工作了几个项目.之后我更加了解Javascript,HTML,CSS,JQuery(前端开发).所以现在我想知道服务器端Web技术(ASP.NET,JSP,PHP)正在消亡吗?我问这个问题的原因是我可以在FrontEnd中完成任何类型的任务,而不是服务器端技术.

我看到许多现代网站(Facebook,谷歌,Gmail等)更多地进入FrontEnd开发.那么现在我还记得我在服务器端Web开发方面的所有知识,还是我必须更加关注前端开发以用于未来的Web开发?

欢迎任何形式的评论

编辑:是Node.js杀死Java,C#?

javascript asp.net frontend jsp web-deployment

3
推荐指数
1
解决办法
3306
查看次数

根据响应重试WebClient

我创建了一个Spring webflux webclient。我想根据我的响应重复相同的操作。例如:如果数据仍然为空,我想重试以获取数据。怎么做 ?

Flux<Data> data = webClient.get()
                .uri("/api/users?page=" + page)
                .retrieve()
                .flatMap(o -> {
                  o.subscribe(data -> {
                      if(data == null) {
                         // WHAT TO DO HERE, TO REPEAT THE SAME CALL ?
                         o.retry();
                      }
                });
                return o;
            })
            .bodyToFlux(Data.class);
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot spring-webflux

1
推荐指数
1
解决办法
92
查看次数