即經過filter捕獲指定路徑內的請求,而後將其params和headers存放到一個map中,暫時尚未保存數據庫,最大容量爲100,提供了一個簡單的前端頁面來進行內容的頁面化,頁面上能夠選擇直接用相同的參數發起請求,同時還支持更改其中的參數來發起請求,請求是經過前臺頁面直接發起.html
這個邏輯其實蠻簡單的,難點在於如何將一個springboot打成jar包供其餘項目引用,如何把頁面集成到springBoot中,是否須要進行其餘的配置,如何將其餘包內的Bean引入到主項目中.前端
最後仍是去參考了一下swagger-ui的源碼,Swagger-UI源碼java
var urlMatches = /(.*)\/reqCatch.html.*/.exec(window.location.href); this.baseUrl = urlMatches[1] + '/';
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins>
打成jar之後首先要看一下前端頁面是否能夠訪問到,靜態資源html等發到static下面,打成jar之後仍是直接能夠經過原先的網址訪問的,不會衝突,到這一步則能夠引入jar,能夠訪問到前臺頁面,只須要將其Bean添加到主項目中,而後編寫一下指定的配置類便可.git
// 註解類 @Retention(RetentionPolicy.RUNTIME) @Target({java.lang.annotation.ElementType.TYPE}) @Documented @Import({CatchReqConfiguration.class}) // 將這個類交給Spring管理 public @interface CatchReq { } // 配置類 @Configuration @ComponentScan(basePackages= {"com.req.controller","com.req.filter"}) // 掃描包 public class CatchReqConfiguration { }
這樣就能夠將jar包內指定路徑的Bean交給Spring管理.github
@Configuration @CatchReq public class CatchFilterDemo { @Bean @SuppressWarnings({ "rawtypes", "unchecked" }) public FilterRegistrationBean timerFilter() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(new CatrhReqFilter()); filterRegistrationBean.addUrlPatterns("/*"); return filterRegistrationBean; } }
<distributionManagement> <!--正式版本 --> <repository> <!-- nexus服務器中用戶名:在settings.xml中<server>的id --> <id>nexus-releases</id> <!-- 這個名稱本身定義 --> <name>Release repository</name> <url>http://192.168.1.241:8088/repository/maven-releases/</url> </repository> <!--快照 --> <snapshotRepository> <id>nexus-snapshots</id> <name>Snapshots repository</name> <url>http://192.168.1.241:8088/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>