§ 本文目标

通过学习本文,希望大家能学会SpringMVC开发的基础知识,能将工程打包并运行起来,在浏览器上输入URL可以看到HelloWord

§ 练习场景

在浏览器中输入http://localhost:6001/api/demo/hello,服务端返回HelloWord

§ 操作步骤

§ 编写Resource类

/**
 * 示例接口. 练习SpringMVC的基础开发功能
 *
 * @since 2.0.5
 */
@RestController
@RequestMapping("/api/demo")
public class DemoResource {
          /**
           * 接受GET请求/api/demo/hello.
           * 
           */
          @GetMapping("/hello")
          public String getName() {
                    return "统一服务平台:HelloWord";
          }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

@RestController:表示该类是一个资源类,和Controller的意思差不多

@RequestMapping("/api/demo"):定义该资源所有的请求都是以/api/demo/开头

@GetMapping("/hello"):表示该方法接入的请求是Get类型,肯url是:/api/demo/hello

§ 确保该Resource能被扫描到

检查scanBasePackages属性,确保开发的Resource类能被Spring扫描并加载

scanBasePackages = {"包名"}

§ 基础配置

修改bootstrap.yml

server: port: 6001 #应用启动端口

§ 启动应用

参见微服务工程创建,启动应用

§ 运行结果

hw_322351

§ SpringMVC常用开发技能

/**
* 示例接口. 练习SpringMVC的基础开发功能
*
* @since 2.0.5
*/
@RestController
@RequestMapping("/api/demo")
public class DemoResource {   
          /**
           * 接受GET请求/api/demo/name. 其中接受请求参数为url后面拼接的参数
           * 
           * <pre>
           * /api/demo/name?name=test
           * </pre>
           */
          @GetMapping("/name")
          public String getName(String name) {
                    return "RequestParam:" + name;
          }
          /**
           * 接受POST请求/api/demo/name. 
           * {@code @RequestBody} 接受请求体中的数据 {@code @PostMapping}
           * 匹配http的POST请求
           *
           * @param name
           * @return
           */
          @PostMapping("/name")
          public String addName(@RequestBody String name) {
                    return "RequestBody:" + name;
          }
          /**
           * 使用@PathVariable获取路径参数
           *
           * @param name
           * @return
           */
          @GetMapping("/names/{name}")
          public String getPathVariableName(@PathVariable("name") String name) {
                    return "PathVariable" + name;
          }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

§ 参考

https://www.cnblogs.com/xiaoxi/p/5718894.html

最后更新于: 4/28/2022, 5:10:13 PM