小编Sho*_*gun的帖子

SOAP与REST,何时使用一个而不是另一个?

每次我遇到这个问题时我都很困惑,有什么特性可以帮助你选择SOAP over REST或者其他方式?

我的意思是,除了REST与SOAP相比具有紧凑的格式以及其他"次要"或"技术"差异这一事实之外,哪些"明显的"差异使得其中一个更适合项目而不是另一个?

仅仅为了记录,我已经阅读了有关Stack Overflow上此问题的所有其他问题(1 | 2 | 3 | 4),并且其中没有一个回答了我的问题.

rest soap

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

Spring Security OAuth2简单配置

我有一个简单的项目,需要简单的以下配置:

  • 我有一个"密码"grant_type,这意味着我可以提交用户名/密码(用户在我的登录表单中输入),并在成功时获得access_token.
  • 使用access_token,我可以请求API并获取用户的信息.

我知道API的URI,我不想要任何大的东西(我在https://github.com/spring-projects/spring-security-oauth/tree/master/samples上看到了配置)并且看起来很大.

我可以这样想:

  • 做一个简单的HTTP请求,给出*client_id*,*client_secret*,*grant_type =密码*,用户名密码(用户提供的).
  • 我在JSON响应中收到*ACCESS_TOKEN*(和其他一些东西).
  • 我使用*ACCESS_TOKEN*来查询URL(使用简单的GET请求),它将提供用户的信息.
  • 我在HttpSession中设置信息并将用户视为已登录.

它可以在2个HTTP请求中完成.我只是不想这样做,而是使用"更安全"的方式而不是Spring Security OAuth2.

你能想到我需要做什么"简单"配置才能完成这项工作吗?

java spring spring-mvc spring-security spring-security-oauth2

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

NetBeans 中映射(关联数组)的 PHP 类型提示?

我试图利用 NetBeans 处理对象类型的智能方式,因此我在注释中暗示了每个对象的类型。

问题是,我想提示一个 (string => ObjectClass) 的关联数组。

我已经尝试了以下所有方法,但没有任何效果:

/** 
 * @var [string => ObjectClass]
 */
private $myAssociativeArray;
Run Code Online (Sandbox Code Playgroud)

/** 
 * @var string|ObjectClass[]
 */
private $myAssociativeArray;
Run Code Online (Sandbox Code Playgroud)

如何让 NetBeans 知道我正在暗示字符串到 ObjectClass 的映射?

提前致谢。

php netbeans type-hinting

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

Keycloak :当新用户注册时通过 API 收到通知

我有一个 Angular(客户端)Java Spring Boot 2(服务器端)应用程序,它重定向到 Keycloak 以便用户执行身份验证/注册等。用户登录后,他们将被重定向到应用程序他们的代币。

我想知道(在 Java 服务器端)用户何时注册,以便我可以在我自己的数据库中为他们创建一些额外的东西。当用户在我的 Keycloak 上注册时,是否有一种标准方法可以“监听”?Java 中有这种行为的例子吗?

先感谢您。

java spring spring-boot keycloak angular

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

Spring 控制器抛出 HttpStatus.UNAUTHORIZED 会触发 500 Http 错误而不是 401

这是场景:我创建了以下自定义响应异常,以触发 401 Http Status:

@ResponseStatus(value = HttpStatus.UNAUTHORIZED)
public class HttpUnauthorizedException extends RuntimeException {

}
Run Code Online (Sandbox Code Playgroud)

使用异常的控制器:

@Controller
public UserController {
    @RequestMapping(value = "api/user")
    @ResponseBody

    public String doLogin(
                 @RequestParam(value = "username", required = false) String username, @RequestParam(value = "password", required = false) String password) {
        if(userLoggedIn(String username, String password)) {
             return "OK";
        }
        else {
             throw new HttpUnauthorizedException();
        }
    }
   ...
}
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试访问控制器以查看 401 异常时,服务器会改为触发 Http 错误代码 500。但有趣的是,当我尝试使用HttpStatus.NOT_FOUND它实际工作时,服务器会触发 404。我在这里遗漏了什么吗?

提前致谢 :-)

java spring spring-mvc web

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