私は netty を使用しており、いくつかの API 用に単純な HTTP サーバーを実装しようとしています。着信リクエストがある間、url = /foo/bar/other/ のパスを取得できます。次へのパスをどのようにマッピングできますか?
class = foo
method = bar
param = other
正規表現を使用できますか? または、より良い解決策はありますか?
ええ、URL パスを分割してクエリ文字列パラメーターを取得する方法を知っています。httpヘッダー、ipなどからすべてのパラメーターを取得します...問題ありません。問題は、これらのパスをクラスとメソッドにどのようにマップするかです。必要なクラスとメソッドを持ってくることができるように。
簡単な実装(疑似コードのみ):
public class Mapper {
private String htttpMethod;
private String controllerName;
private String methodName;
}
ArrayList<Mapper> m = new ArrayList<Mapper>();
m.add(new Mapper("GET","HomeController","index"));
したがって、/Home/index/1/ は HomeController.index(1); を上げなければなりません。
見つけたいパターンごとに、新しい正規表現が必要ですか? すべてをチェックします。if / else ブロックが多すぎます...
それについて何か解決策はありますか?
しかし、この質問のためにドックを読んでください。歌詞の意味: 私の英語のために泣く