小编rob*_*anz的帖子

无法验证 CSRF 令牌的真实性 Rails/React

我的 rails 应用程序中有一个 react 组件,我试图在其中fetch()POST发送到托管在本地主机上的 rails 应用程序,这给了我错误:

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Run Code Online (Sandbox Code Playgroud)

我正在使用设计 gem 来处理user/registrationslogins

我试图删除 protect_from_forgery with: :exception

这是我的提取代码,

this.state.ids.sub_id});
  fetch(POST_PATH, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: body  
  }).then(res => res.json()).then(console.log);
Run Code Online (Sandbox Code Playgroud)

如何获取 csrf 令牌并通过表单发送它以使其通过?
理想情况下,我只想通过标头发送它,但我不知道如何访问令牌。

ruby-on-rails csrf protect-from-forgery reactjs

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

Spring Boot分层架构中外部API调用放在哪里

我有一个 SpringBoot 应用程序,有四层;域、控制器、服务和存储库。

我正在使用控制器为客户端创建端点,但在应用程序中,我想使用 REST 对我不想直接向客户端公开的外部 API 进行一些外部 API 调用。

您将在结构中的哪个位置实现此类外部调用?我正在与一位朋友讨论,创建某种适配器包并在服务层中调用它可能是个好主意,但我不太确定。

java rest spring-boot

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

Java 条件 - 如何使用 3 个场景格式化简单的 if 语句?if 结构建议

我遇到一个问题,我的代码感觉很混乱,我需要一些帮助来更好地构建它。

例子:

if (object.getDescription() == Status.Expected && !logEvent.equals("Expected")) {
    System.out.println("Do nothing"); // ???
} else {
    status.setChangedBy(logEvent);
}
Run Code Online (Sandbox Code Playgroud)

如果以更干净的方式我该如何格式化它?我希望changedBy在每种情况下都调用该方法,除了 whengetDescription == Status.ExpectedlogEventis not "Expected"。但我也不想要一个空的 if 语句。

另一种选择是:

if (object.getDescription() == Status.Expected) {
   if (logEvent.equals("Expected")) {
         status.setChangedBy(logEvent);
   }
} else {
    status.setChangedBy(logEvent);
}
Run Code Online (Sandbox Code Playgroud)

这两个例子都有效。但这两个例子都“感觉不对”。还有其他我没有看到的解决方案吗?

java formatting if-statement

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