gpt4 book ai didi

java - GWT - 如何为 GRPC servlet 中的所有传入请求设置入口点方法

转载 作者:行者123 更新时间:2023-11-29 07:39:16 25 4
gpt4 key购买 nike

我有一个 RemoteServiceServlet 类实现了几个服务(方法)。所有方法都需要在执行任何操作之前检查 session 并获取相应的用户信息。由于该类有 20 多个服务方法,因此在每个服务中都这样做是一场噩梦。有没有办法为所有传入请求自动运行一些 session 检查方法?或者我该如何解决这个问题?

这是针对我的情况的示例伪代码。

public class OnboardingServiceImpl extends RemoteServiceServlet implements OnboardingService {

private String checkSessionAndGetUser(){...}

public void service1(){
// check session
// get user and do something based on the user data
}

public void service2(){
// check session
// get user and do something based on the user data
}

public void service3(){
// check session
// get user and do something based on the user data
}

...

public void service20(){
// check session
// get user and do something based on the user data
}

}

如你所见,service1,service2,...,service 20都需要根据session获取用户信息,但我不想为每个服务重复写代码。任何帮助将不胜感激。

最佳答案

我建议覆盖 processCall(RPCRequest rpcRequest)

@Override
public String processCall(RPCRequest rpcRequest) throws SerializationException {
//your checks here, in case of error:
//return RPC.encodeResponseForFailedRequest(null, new Exception("Invalid session"));
// note that you'll have to use a serializable exception type here.

return super.processCall(rpcRequest);
}

关于java - GWT - 如何为 GRPC servlet 中的所有传入请求设置入口点方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32106380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com