Mevcut bir denetleyiciyi genişletmem ve ona bazı işlevler eklemem gerekiyor. Ancak, bir proje gereksinimi olarak, orijinal denetleyiciye dokunamıyorum, sorun, bu denetleyicinin üzerinde bir @RequestMapping
ek açıklamasına sahip olmasıdır. Bu yüzden sorum, /someUrl
numaralı telefona eski denetleyici yerine yeni denetleyicime nasıl istekte bulunabilirim. Burada Başka bir denetleyicide @RequestMapping nasıl geçersiz kılınır?
Orjinal kontrolör:
@Controller
public class HelloWorldController {
@RequestMapping("/helloWorld")
public String helloWorld(Model model) {
model.addAttribute("message", "Hello World!");
return "helloWorld";
}
}
yeni Denetleyici: Ben olmadan orijinal eşleşmesini geçersiz kılmak nasıl
@Controller
public class MyHelloWorldController {
@RequestMapping("/helloWorld")
public String helloWorld(Model model) {
model.addAttribute("message", "Hello World from my new controller");
// a lot of new logic
return "helloWorld";
}
}
düzenleme HelloWorldController
?
emin değil (http://docs.spring.io /spring-framework/docs/3.2.3.RELEASE/javadoc-api/org/springframework/core/annotation/Order.html) açıklama, işleyici eşleme mantığını etkileyecektir (bunu bir deneyin). Değilse, farklı bir URL ile eşleştirebilir ve bir tür yeniden yazma işlemini gerçekleştirebilirsiniz (ör. [URLRewriteFilter] (http://tuckey.org/urlrewrite/) aracılığıyla). –
Kendimi düzeltmek zorundayım - “Sipariş” işe yaramayacaktır çünkü yinelenen eşleştirmeye Baharda izin verilmiyor (çünkü onun cevabında Jordi işaret ediyor). –