0
点赞
收藏
分享

微信扫一扫

关于登录注册这件小事

云竹文斋 2022-03-13 阅读 44
前端

昨天做了注册功能,虽然做得比较慢,但总算做完了,今天做登录功能时,我就以昨天的方法做登录,结果在请求接口哪里跪了

 

这里先讲一下前端请求方式吧

之前没学vue时,用的jQuery请求,算一个百事通吧,既可以跟后台交互,又能渲染数据

有表单get/post提交,ajax get/post提交

  • 在接收请求的控制器类的方法中定义属性,通过@RequestParam声明接收数据的key

    @RequestMapping("/add")
    public ModelAndView add(@RequestParam("bookId") int bid, 
                            @RequestParam("bookName") String bname){
        System.out.println("---------------------");
        return null;
    }
  • 如果控制器类方法的参数名与提交数据的key一致,@RequestParam可以省略

比如说你实体类有个Book,里面有bookId,bookName属性,你就可以这样写

//使用属性接收:属性名和提交数据的key一致,@RequestParam可以省略
@RequestMapping("/add")
public ModelAndView add(int bookId,String bookName){
    System.out.println("---------------------");
    return null;
}

//使用对象接收:要求对象的属性名与提交数据的key一致
@RequestMapping("/add")
public ModelAndView add(Book book){
    System.out.println("---------------------");
    return null;
}

好吧,重点不在这里,下面是重点

用ajax的post方法提交数据时,要用@RequestBody请求正文,看一下我上面的图,虽然是用axios提交的,但是后端接收数据是一样的

那下面就是介绍一下axios了

用vue写前端代码真的比用jQuery简单多了,简直是后端开发人员的最爱啊,

但是vue有一个小缺点,就是不能提交数据,那么axios就应运而生了。

他有以下几个优点:

  • 体积小

  • 对RESTful规范有更好的支持

  • 支持并发异步请求

axios请求大致可以分为3部分

1 get/delete请求

//发送get请求传递参数
axios.get(url,{
    params:{
        //参数
    }
}).then(function(res){
   //回调处理 
});

2 post/put请求

//1.发送post请求
axios.post(url).then(function(res){
   //回调处理 
});

//2.发送post请求传递参数
axios.post(url,{key:value,key2:value}).then(function(res){
   //回调处理 
});

3自定义请求

但是现在一般推崇自定义请求

axios({
    url:"",
    method:"delete",
    params:{
        
    },
    headers:{
        
    },
    data:{
        
    }
}).then(function(res){
    //回调处理
});

看格式是不是跟jQuery差不多,提交什么方式只需要在method哪里改一下就好了。

看到这里应该对我那部分代码有所了解了,那既然我注册可以成功,为什么登录他提示我找不到请求体呢?Required request body is missing 

后来才知道post提交才需要到requestBosy找json数据,我登录用的get方式,直接用@paragram或者不用就可以解决了

举报

相关推荐

0 条评论