以下の例のようなコントローラーURI階層があります。
@RequestMapping(value="company/{id}")
public abstract class BaseCompanyController
{
// variety of helper methods, protected autowired objects
}
@Controller
@RequestMapping(value = "company/{id}/documents")
public class DocumentsController extends BaseCompanyController
{
// document controller methods
@RequestMapping(value="something",.... etc)
public void doSomething(){}
}
@Controller
@RequestMapping(value = "company/{id}/financials")
public class FinancialsController extends BaseCompanyController
{
// financials controllers methods
}
私がやりたいのは、子コントローラーのハンドラーメソッドの前に実行するコードを定義することです。たとえば、DocumentsControllerでdoSomethingメソッドが呼び出される前にコードを実行したいとします。私がやりたいことは、特定のURI階層に固有のものです。
ハンドラーメソッドの前にインターセプターを使用して実行する場合、/ company / {id}の会社IDなどのURIからURIパラメーターを抽出するにはどうすればよいですか?私は本当にURLを手作業で比較したくないのですか?
インターセプターは/company/ {id}などのURIで絞り込むことができますか?インターセプターマッピングはURIテンプレートを理解しますか?