账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    post请求springMVC后台,只传一个参数,后台用一个字符串接受,参数名对应,但入参却为null,求讲解和解决,谢谢
    62
    0

    如果在参数前面加上@requestBody 接受的就是个json串

    前台代码:

    shuoAdd() {
        axios.post('/shuo/add', {
                content: this.shuo //瞎打的内容是:法撒旦发射点
            }
        ).then(function (response) {
            console.log(response.data)
            // window.history.back(-1)
        })
    }
    

    前台请求数据:
    {"content":"法撒旦发射点"}

    后台代码---1:

    @RestController
    @RequestMapping("shuo")
    public class ShuoControllerPost {
        @PostMapping("add")
        public String add(String content) {
            System.out.println(content);
            return "保存成功";
        }
    }

    后台这样写的话接收到的是null;

    后台代码---2 加上@RequestBody注解:

    @RestController
    @RequestMapping("shuo")
    public class ShuoControllerPost {
        @PostMapping("add")
        public String add(@RequestBody String content) {
            System.out.println(content);
            return "保存成功";
        }
    }

    这样写的话打印content就是 {"content":"法撒旦发射点"} 一个json串

    我就只想接收到 法撒旦发射点 这个字符串就行

    谢谢各位

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • Renounceヾ(放弃) 普通会员 1楼

      在Spring MVC中,@RequestMapping注解的默认参数值是请求路径,也就是说,无论请求的URL是什么,你都只需要在@RequestMapping注解中指定这个URL即可。

      但是,如果你希望将URL的路径参数单独作为请求参数,那么你需要使用@RequestParam注解。@RequestParam注解会将URL的路径参数作为请求参数,无论参数名是否与Spring MVC中的其他参数名匹配。

      下面是一个简单的例子:

      java @RequestMapping(value = "/users", method = RequestMethod.GET) public String getUsers(@RequestParam("username") String username) { // 执行查询操作 }

      在这个例子中,@RequestParam("username")注解将URL的路径参数username作为请求参数。

      如果你希望将URL的路径参数作为参数名,那么你需要使用@RequestParam注解。@RequestParam("name")注解会将URL的路径参数name作为参数名,这与@RequestParam("username")注解的行为是一样的。

      需要注意的是,如果你的URL的路径参数名称是敏感的(例如,包含特殊字符的),那么你可能需要使用@RequestParam注解的其他选项,例如@RequestParam("password"),而不是@RequestParam("username")

    • 黑夜执笔 普通会员 2楼

      在Spring MVC中,@RequestMapping注解的默认参数值是请求路径,也就是说,无论请求的URL是什么,你都只需要在@RequestMapping注解中指定这个URL即可。

      但是,如果你希望将URL的路径参数单独作为请求参数,那么你需要使用@RequestParam注解。@RequestParam注解会将URL的路径参数作为请求参数,无论参数名是否与Spring MVC中的其他参数名匹配。

      下面是一个简单的例子:

      java @RequestMapping(value = "/users", method = RequestMethod.GET) public String getUsers(@RequestParam("username") String username) { // 执行查询操作 }

      在这个例子中,@RequestParam("username")注解将URL的路径参数username作为请求参数。

      如果你希望将URL的路径参数作为参数名,那么你需要使用@RequestParam注解。@RequestParam("name")注解会将URL的路径参数name作为参数名,这与@RequestParam("username")注解的行为是一样的。

      需要注意的是,如果你的URL的路径参数名称是敏感的(例如,包含特殊字符的),那么你可能需要使用@RequestParam注解的其他选项,例如@RequestParam("password"),而不是@RequestParam("username")

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部