我正在SBT之上实现自定义API。我正在这样做,所以我可以在将连接返回给用户之前操纵和转换连接的响应。
使用用户名和密码的基本身份验证工作正常。但我似乎无法找到如何在请求发送之前将JSESSIONID标头添加到ClientService(ClientService.Args)。
知道如何做到这一点?
答案 0 :(得分:1)
由于REST是无状态的,理论上你不应该需要JSESSIONID cookie,它用于保存登录用户的状态。但是,如果你想添加它,你应该以下面的方式进行:
在特定的端点类(如BasicEndpoint.java for Basic Authentication)中,查找initialize方法,它将注册一个拦截器,在本例中为BasicInterceptor。 在BasicInterceptor的处理方法中,您可以添加像
这样的cookierequest.setHeader(“Cookie”,“JESSION string goes here”);
此代码拦截所有传出请求,并添加cookie标头。
希望这有帮助。
答案 1 :(得分:0)
当您发出请求时,当您执行BASICAUTH时,JSESSIONID cookie应该已经在响应中。
同样不保证JSESSIONID是WAS应用服务器的唯一标识符。