Spring mvc 中如何转换参数名称


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

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

spring spring-mvc

凉宫春日的惊愕 9 years, 4 months ago

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

十六夜ス咲夜 answered 9 years, 4 months ago

第一种:


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

第二种:


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

MSoul answered 9 years, 4 months ago


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

难道不是用@RequestParam么?

修改型咸鱼小队 answered 9 years, 4 months ago

Your Answer