小程序开发-服务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3.4 KiB

服务器URL配置重构总结

概述

将项目中硬编码的服务器地址 https://server.websoft.top/api 改为从配置文件读取,提高了代码的可维护性和灵活性。

修改的文件

1. RequestUtil.java

文件路径: src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java

修改内容:

  • 添加了 ConfigProperties 依赖注入
  • 移除了硬编码的 host 常量
  • 添加了 getServerUrl() 方法
  • 将所有 host.concat(path) 替换为 getServerUrl().concat(path)

影响的方法:

  • balancePay()
  • getUserByPhone()
  • getByUserId()
  • saveUserByPhone()
  • updateUserBalance()
  • getParent()
  • updateUser()
  • getMpOrderQrCode()
  • getOrderQRCodeUnlimited()
  • updateUserMerchantId()
  • getWxConfig()

2. JwtAuthenticationFilter.java

文件路径: src/main/java/com/gxwebsoft/common/core/security/JwtAuthenticationFilter.java

修改内容:

  • 将硬编码的URL "https://server.websoft.top/api/auth/user"
  • 改为 configProperties.getServerUrl() + "/auth/user"

3. OaAppController.java

文件路径: src/main/java/com/gxwebsoft/oa/controller/OaAppController.java

修改内容:

  • 添加了 ConfigProperties 依赖注入
  • 将硬编码的URL "https://server.websoft.top/api/file/page"
  • 改为 configProperties.getServerUrl() + "/file/page"

4. SwaggerConfig.java

文件路径: src/main/java/com/gxwebsoft/common/core/config/SwaggerConfig.java

修改内容:

  • 将硬编码的URL "https://server.websoft.top/api/system"
  • 改为 config.getServerUrl() + "/system"

5. WxOfficialUtil.java

文件路径: src/main/java/com/gxwebsoft/common/core/utils/WxOfficialUtil.java

修改内容:

  • 将硬编码的URL "https://server.websoft.top/api/open/wx-official/accessToken"
  • 改为 pathConfig.getServerUrl() + "/open/wx-official/accessToken"

6. ShopOrderServiceImpl.java

文件路径: src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java

修改内容:

  • 将微信支付回调地址中的硬编码URL
  • "https://server.websoft.top/api/system/wx-pay/notify/"
  • 改为 config.getServerUrl() + "/system/wx-pay/notify/"

配置文件设置

开发环境 (application-dev.yml)

config:
  server-url: http://127.0.0.1:9091/api

生产环境 (application-prod.yml)

config:
  server-url: https://server.websoft.top/api

默认配置 (application.yml)

config:
  server-url: https://server.websoft.top/api

优势

  1. 可维护性: 服务器地址集中管理,修改时只需要更新配置文件
  2. 环境适配: 不同环境可以使用不同的服务器地址
  3. 部署灵活: 部署时可以通过环境变量或外部配置文件覆盖
  4. 代码清洁: 移除了硬编码,提高了代码质量

测试验证

创建了测试类 ServerUrlConfigTest 来验证配置是否正确读取:

  • 验证配置属性不为空
  • 验证URL格式正确
  • 验证开发环境使用本地地址

注意事项

  1. 确保所有环境的配置文件都正确设置了 server-url
  2. 部署时需要根据实际环境调整配置
  3. 如果有新的代码需要调用服务器API,应该使用 ConfigProperties.getServerUrl() 而不是硬编码

后续建议

  1. 可以考虑将其他硬编码的URL也进行类似的重构
  2. 建立代码规范,禁止在代码中硬编码URL
  3. 在CI/CD流程中添加检查,确保没有新的硬编码URL被引入