MyDispatcherServlet.java 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.example.config.web;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.springframework.web.servlet.DispatcherServlet;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import java.util.Set;
  7. import java.util.stream.Collectors;
  8. import java.util.stream.Stream;
  9. @Slf4j
  10. public class MyDispatcherServlet extends DispatcherServlet {
  11. /**
  12. * 上传和返回文件流的接口uri,不替换request和response
  13. */
  14. public static final Set<String> UN_WRAPPER = Stream.of(
  15. "/house-car/house/dist/api/data-import/dataImport",
  16. "/house-car/house/dist/api/WzBuildManageDetails/ideListExport",
  17. "/house-car/house/dist/api/WzBuildManageDetails/queryHouseDetailExport",
  18. "/house-car/house/dist/api/WzBuildManageDetails/queryHouseYearExport",
  19. "/house-car/house/dist/api/WzBuildManageDetails/buildingIdleStatExport",
  20. "/house-car/house/dist/api/wzHouseMaintenaCost/queryHighPriceExport",
  21. "/house-car/house/dist/api/wzHouseMaintenaCost/queryHighFrequencyExport",
  22. "/house-car/house/dist/api/wzHouseMaintenaCost/queryDailyModifyExport",
  23. "/house-car/house/dist/api/wzHouseMaintenaCost/buildingIdleRepairExport",
  24. "/house-car/house/dist/api/wzHouseMaintenaCost/buildingRepairStatExport",
  25. "/house-car/house/dist/api/wzHouseMaintenaCost/listBuildingRepairMonthExport",
  26. "/house-car/house/dist/api/WzHouseLeaseInCon/rentInContractStatExport",
  27. "/house-car/house/dist/api/WzHouseContractIn/listRentInContractExport",
  28. "/house-car/house/dist/api/WzHouseUse/rentInUseStatExport",
  29. "/house-car/house/dist/api/WzHouseContractTop/listRentInTopExport",
  30. "/house-car/house/dist/api/WzHouseContractCompare/listRentInCompareExport",
  31. "/house-car/house/dist/api/siteStat/siteStatExport",
  32. "/house-car/house/dist/api/WzBuildmanageAvagearea/buildingOfficeAreaStatExport",
  33. "/house-car/house/dist/api/WzBuildManageDetails/excel",
  34. "/house-car/house/dist/api/WzHouseContractOut/excel",
  35. "/house-car/house/dist/api/WzHouseContrac/excel",
  36. "/house-car/house/dist/api/WzHouseLeaseInCon/excel",
  37. "/house-car/house/dist/api/wzHouseMaintenaCost/excel",
  38. "/house-car/house/dist/api/WzHouseUse/excel",
  39. "/house-car/house/dist/api/WzLandManageDetails/excel",
  40. "/house-car/house/dist/api/wzLowestUnitPrice/excel",
  41. "/house-car/house/dist/api/wzRentHouseArrears/excel",
  42. "/house-car/house/dist/api/wzRentThreeMonth/excel",
  43. "/house-car/house/dist/api/wzScoreRanking/excel",
  44. "/house-car/house/dist/api/WzBuildManageDetails/loadWord"
  45. ).collect(Collectors.toSet());
  46. @Override
  47. protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {
  48. String uri = request.getRequestURI();
  49. if (UN_WRAPPER.contains(request.getRequestURI())) {
  50. super.doDispatch(request, response);
  51. } else {
  52. // 替换request和response
  53. log.info("替换 {} 的request和response", uri);
  54. super.doDispatch(new MyHttpServletRequestWrapper(request), new MyHttpServletResponseWrapper(response));
  55. }
  56. }
  57. }