(1)springboot restful service - 先搭个架子

77 阅读1分钟

这个专栏的文章,写些 springboot 开发 restful service (json) 的碎碎念。 从 start.spring.io/ 生成一下框架代码, 依赖选择 spring web

spring_start.png

点击 Generate btn 下载 zip 包,解压放到项目目录。

project.png

(最近因为一些原因需要从 mac 切换到 win, 发现 power shell + wsl 也还行)

用 idea 导入项目的 pom.xml, 项目 folder, maven run 一下

mvn clean spring-boot:run

项目的 code 放在 gitee.com/yren/mars 一些小修改

  1. 将 src/resources/application.properties 改为 yml 格式
  2. 在 application.yml 中将 server listen port 设置为 8083, server connect timeout 设置为 5 分钟。
# application.yml
server:
  port: 8083
  # conn timeout 5 minutes, 5 * 60 * 1000 ms
  connection-timeout: 300000
  1. 建一个 InfoController, 返回第一个 api
/*
@CrossOrigin , 允许 api 跨域调用
@RestController, 将类声明为一个 restful controller

@Value("${spring.application.name:}")
String name;
读取 application.yml 中的对应配置, 
注意结尾的 : , 表示当 spring.application.name 在 yaml 中未定义时,默认值为空 

@GetMapping("/")
get method, 请求路径是 /

*/
@CrossOrigin
@RestController
public class InfoController {
    @Value("${spring.application.name:}")
    String name;
    @Value("${custom.version:}")
    String version;
    @Value(("${custom.env:dev}"))
    String env;

    @GetMapping("/")
    public Map<String, Object> info() {
        Map<String, Object> resp = new HashMap<>();
        resp.put("msg", String.format("welcome, it's %s api (%s)", name, version));
        resp.put("env", env);
        return resp;
    }



}

运行服务看一下

mvn clean spring-boot:run

在浏览器访问 http://localhost:8083/

browser_resp.png

或者终端 wget http://localhost:8083

微信截图_20250103212343.png

在语雀转了一下,那里的格式看着更舒服点 www.yuque.com/u2177997/sr…