import java.util.HashMap;
import java.util.Map;
interface RequestProcessor {
void process(RequestEvent requestEvent);
}
class GetRequestProcessor implements RequestProcessor {
@Override
public void process(RequestEvent requestEvent) {
// 处理 GET 方法的请求事件逻辑
System.out.println("处理 GET 方法的请求事件");
}
}
class PostRequestProcessor implements RequestProcessor {
@Override
public void process(RequestEvent requestEvent) {
// 处理 POST 方法的请求事件逻辑
System.out.println("处理 POST 方法的请求事件");
}
}
public class Main {
public static void main(String[] args) {
Map<String, RequestProcessor> requestProcessorMap = new HashMap<>();
// 创建 GET 方法的处理器对象并添加到 Map 中
RequestProcessor getProcessor = new GetRequestProcessor();
requestProcessorMap.put("GET", getProcessor);
// 创建 POST 方法的处理器对象并添加到 Map 中
RequestProcessor postProcessor = new PostRequestProcessor();
requestProcessorMap.put("POST", postProcessor);
// 假设这里有一个获取到的请求方法字符串,比如 "GET"
String method = "GET";
RequestEvent requestEvent = new RequestEvent(); // 假设创建了请求事件对象
// 根据方法获取处理器并处理请求事件
requestProcessorMap.get(method).process(requestEvent);
}
}
class RequestEvent {
// 可以根据需要添加请求事件的相关属性和方法
}
在上述示例中,GetRequestProcessor
和 PostRequestProcessor
分别实现了 RequestProcessor
接口中的 process
方法,用于处理不同方法的请求事件。然后将它们的实例添加到 requestProcessorMap
中,根据获取到的请求方法来调用对应的处理器进行处理。