• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gotonull
V2EX  ›  程序员

Spring MVC 参数映射问题请教

  •  
  •   gotonull · Apr 15, 2020 · 3084 views
    This topic created in 2393 days ago, the information mentioned may be changed or developed.

    @RestController public class TestController { @GetMapping("/") public String test(String name, String sex) { return "name:" + name + "sex:" + sex; } }

    请教一下各位这种情况的时候,springMVC 是如何做到准确的将请求中的 name 和 sex 映射到对应的位置。因为编译后就算是通过反射也是拿不到方法的参数名称啊。( java8 指定特殊的编译参数不算)

    6 replies  •  2020-04-15 19:05:24 +08:00
    kkkkkrua
    kkkkkrua
    Apr 15, 2020 via iPhone
    1
    debug 进去就一清二楚了
    waa
    waa
    Apr 15, 2020
    2
    ParameterNameDiscoverer
    cookii
    cookii
    Apr 15, 2020
    3
    org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
    gwybiaim
    gwybiaim
    Apr 15, 2020
    4
    普通反射拿不到,但是字节码里面有变量名称信息
    BBCCBB
    BBCCBB
    Apr 15, 2020
    5
    ClassReader 或者 java8 -parameter 参数. 然后看 HandlerMethodArgumentResolver
    gotonull
    gotonull
    OP
    Apr 15, 2020
    6
    谢谢各位的解答,我找到答案了。
    spring MVC 底层用了 ASM 来获取方法的形参名
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2636 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
    ♥ Do have faith in what you're doing.