Spring Boot(一)之请求接口示例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33689414/article/details/81812724

Spring Boot(一)之请求接口示例

1. 创建一个Spring Boot的web程序

1.1 创建一个Project

image

选择Spring Initializr,点击Next。

1.2 编辑Project Metadata,如图:

image

修改Group,Artifact,点击Next

1.3 选择Web程序

image

点击Next

1.4 选择项目的目录

image

点击Finish

这样项目就创建好了,如图:

image

SpringBootDemoApplication是程序的入口,接下来编写程序的接口。

2. get请求接口编写

2.1 get无参数请求

创建一个controller目录,创建一个MyController类,在MyController类中创建一个hello方法。具体如下:

@RestController
public class MyController {

    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }

}

@RestController:相当于 @Resquest + @Controller

@GetMapping(“/hello”):是Get方法的映射,映射的路径是/hello

运行Spring Boot程序,请求:
http://localhost:8080/hello,结果如下:

image

2.2 get带参数的请求(一个参数)

@RestController
public class MyController {

    @RequestMapping(value = "/search", method = RequestMethod.GET)
    public String search(@RequestParam String params) {
        System.out.println(params);
        return "hello " + params;
    }
}

@RequestMapping:表示请求的映射,value的值表示路径,method的值是请求方式,如:GET,POST等。

@RequestParam:表示请求参数,这里请求参数是params

请求结果如下:

image

这里需要注意,一定是params=?,不然报错。

2.3 get多个参数请求

@RestController
public class MyController {

    @GetMapping("/searchall")
    public String searchAll(@RequestParam Map map) {// 这个也可以使用bean对象
        System.out.println(map);
        return map.toString();
    }

}

请求结果如图:

image

2.4 get路径匹配

@RestController
public class MyController {

    @GetMapping("/search/{path}")
    public String path(@PathVariable String path) {
        System.out.println(path);
        return path;
    }

}

@PathVariable:path的变量,表示上面路径的{path}

请求结果如下:

image

在实际中,path的方式可以和携带参数请求的结合。

3. post请求接口编写

3.1 post带一个请求参数

@RestController
public class MyController {

    @PostMapping("/find")
    public String find(@RequestBody String userId) {
        System.out.println(userId);
        return userId;
    }

}

@RequestBody:post的请求体

请求结果,如下:

image

3.2 post请求,使用Map封装RequestBody

@RestController
public class MyController {

    @PostMapping("/addmap")
    public String addUser1(@RequestBody Map map) {
        System.out.println(map);
        return map.toString();
    }

}

请求结果如下:

image

3.3 post请求,使用Bean封装RequestBody

@RestController
public class MyController {

    @PostMapping("/adduser")
    public String addUser(@RequestBody User user) {
        System.out.println(user);
        return "Success";
    }

}

请求结果:

image

3.4 post请求,使用Bean封装RequestBody,并返回ResponseBody

@RestController
public class MyController {

    @ResponseBody
    @PostMapping("/finduser")
    public User findUser(@RequestBody User user) {
        System.out.println(user);
        return user;
    }

}

image

猜你喜欢

转载自blog.csdn.net/qq_33689414/article/details/81812724
今日推荐