Resultful接口风格练习

controller类

package com.example.study.controller;

import com.example.study.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/users")
public class Resultful {

    //不带参数get请求访问users接口,访问该接口,可返回所有用户信息
    @RequestMapping(method=RequestMethod.GET)//查询
    public String find() {
        System.out.println("查找得到所有的用户信息");
        return "Login";
    }

    //带参数get请求访问users接口,访问该接口,可返回指定用户信息
    @RequestMapping(value="/{uid}",method=RequestMethod.GET)//查询
    public String fingById(@PathVariable("uid") int id) {
        System.out.println("===findbyid===");
//        int a=10/0;
        return "Login";
    }

    //带参数的post请求访问users接口,可以添加一条信息(也可改为批量保存)
    @RequestMapping(method=RequestMethod.POST)//添加
    public String addUsers(User user) {
        System.out.println("===addUsers===");
        System.out.println(user);
        return "Login";
    }

    //带参数的put请求访问users接口,更新某一条记录
    @RequestMapping(method=RequestMethod.PUT)//修改
    @ResponseBody
    public String updateUsers(User user) {
        System.out.println("===updateUsers===");
        System.out.println(user);
        return "Login";
    }

    
    //带参数的delete请求访问users接口,删除某一条记录(也可改为批量删除)
    @RequestMapping(value="/{id}", method=RequestMethod.DELETE)//删除
    @ResponseBody
    public String delete(@PathVariable int id) {
        System.out.println(id+"===delete===");
        return "Login";
    }

}

前端Aajx请求参考部分

     //不带参数get请求获取所有用户信息
    $.ajax({
          type:"GET",
          url:"users",
          dataType:"json",
          success:function (data) {
             console.log(data);                   
          }
     })


    //参数get请求获取单个用户信息
    $.ajax({
          type:"GET?uid=1",
          url:"users",
          dataType:"json",
          success:function (data) {
             console.log(data);                   
          }
     })


    //保存数据
      $.ajax({
            type:"POST",
            url:"users",
            dataType:"json",
            data:{
                "name":"罗旭",
                "password":"123456",
            },
            success:function (data) {
                 console.log(data);
                 if(data.status==200){
                      window.alert("保存成功")
                        // window.location=("LoginSuccess?name="+name);
                 }else{
                      window.alert(data.erroMsg);
                 }
            }
      })


      //更新数据
      $.ajax({
            type:"PUT",
            url:"users",
            dataType:"json",
            data:{
                "name":"罗旭",
                "password":"123456",
            },
            success:function (data) {
                 console.log(data);
                 if(data.status==200){
                      window.alert("更新成功")
                        // window.location=("LoginSuccess?name="+name);
                 }else{
                      window.alert(data.erroMsg);
                 }
            }
      })


   //删除一个用户的信息
    $.ajax({
          type:"delete?uid=1",
          url:"users",
          dataType:"json",
          success:function (data) {
             console.log("删除成功");                   
          }
     })

总结:通过请求一个地址,不同http请求方式,是否带参数,就可以实现对一个对象的增删改查。

你可能感兴趣的:(Resultful接口风格练习)