Spring mvc 中如何转换参数名称

现在是这样的,我接口参数定义的方式:多个单词用下划线来连接,例如:“user_id”,但是后台接收想通过 userId 的方式定义,这样的话,就要做参数的转换,请教下在不侵入 spring 框架的基础上该在哪里去做呢?

之前想到使用 argument-resolvers 来做,通过继承三种类型的参数入驻类修改对应的注入参数时的匹配代码。
但是貌似行不通,spring mvc 的 RequestMappingHandlerAdapter 默认注册了 很多种类型的 argument-resolvers 用于绑定参数数据的。 当一个参数被第一个argument-resolvers 拦截了,貌似后面的argument-resolvers 都无效的。

阅读 5.8k
3 个回答
@RequestMapping(value = "/test")
public void test(@RequestParam("user_id") String userId) {
    // ...
}

难道不是用@RequestParam么?

第一种:

@RequestMapping(value = "/test/{user_id}")
public void test(@PathVariable String user_id) {
    // ...
}

第二种:

@RequestMapping(value = "/test")
public void test(String user_id) {
    // ...
}

我觉得尽量遵循约定大于配置的规范比较好,能不用自定义就不要用了,麻烦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题