如何快速学习 Java 系列之创建第一个 Java Web 项目(day 4 - 1)

今天我们来写第一个 Java(Web) 项目,文章会包括如下内容:

Java Web 常用注解

 @RequestMapping("api/product")
 @GetMapping("listProduct")
 @PostMapping("createProduct")
 @DeleteMapping("delete/{id}")
@GetMapping("/owners/{ownerId}/products/{productId}")
public Product getProduct(@PathVariable Long ownerId,
                                      @PathVariable Long productId) {
    // ...
}
@GetMapping("getProduct")
public String getProduct(@RequestParam("id") Long id) {
   // ...
}
@PostMapping("addProduct")
public Result addProduct(@RequestBody ProductDto param) {
    // ...
}


Lombok 常用注解


Java Web 项目的两个分支

Java Web 有两个分支,一个是 Web Servlet,另一个是 Web Reactive.

接下来我们要创建的是 基于Servlet 的 Web 项目 Spring MVC。下面这个图清晰的表达了 Spring MVCSpring WebFlux 的差异。

Java Web 的两个分支

可以看到 Spring WebFlux 是不包含数据库(无 JDBC)访问的,而我们后面会用到数据库,所以这里我们选 Spring MVC 项目。

创建项目详细步骤

IDEA 新建项目

IDEA 设置 JDK 和 类型

Spring Boot 3 最低要求 Java 17,而目前公司几乎所有项目用的都是 Java 8,所有这里我们选 Spring Boot 2 的最新版本 2.7.8。

IDEA 选择依赖的模块

经过以上步骤,一个空的 Java Web (Spring MVC) 项目已经创建起来了。如果你有安装 Spring Boot CLI,那么上述这么多步骤可以简化为一条命令:

spring init --dependencies=web,lombok --build=maven --java-version=1.8 --boot-version=2.7.8 springdemo


运行项目

通过 IDEA 右上方的工具栏运行如下,启动的服务默认端口是 8080

运行项目

修改服务端口

可以通过修改项目配置文件来修改端口,IDEA 默认创建的配置文件是 application.properties,但最佳实践推荐使用 .yml 格式, 这里把 文件后缀名直接改成 .yml 即可。我们把端口改成 8990,修改完之后,再次运行,端口就变了。

修改服务端口

创建 RESTFul API

创建 echo api

model/Result.java 文件

@Getter
@Setter
@Accessors(chain = true)
public class Result {
    private int code;
    private String message;
    private T data;

    public Result() {
        code = 0;
        message = "success";
    }

    public Result setCode(ResultCode error) {
        code = error.code();
        message = error.description();
        return this;
    }
}

consts/ResultCode.java 文件

public enum ResultCode {
    /** success */
    ENoErr(0, "访问成功"),
    /** failed */
    EFailed(1, "系统异常"),
    /** parameter error */
    EInvalidParam(2, "非法参数")
    ;
    private final int code;
    private final String description;
    ResultCode(int code, String desc) {
        this.code = code;
        this.description = desc;
    }
    public int code() {
        return code;
    }
    public String description() {
        return description;
    }
}

controller/UtilController.java 文件

@RestController
@RequestMapping("api/util")
public class UtilController {
    /** 接收什么,就返回什么 */
    @PostMapping("echo")
    public Result echo(@RequestBody JsonNode param) {
        Result result = new Result<>();
        return result.setData(param);
    }
}

打开 Windows Terminal,使用 httpie 调用接口:

http -v http://192.168.1.10:8991/api/util/echo name=张三 birthday=2020-01-01

执行结果如下:

调用 echo 接口

可以看到,通过接口传递的参数,被原样的返回给调用方。


Spring MVC 中 HTTP 请求的执行流程

今天篇幅有点长了,这部分另起一篇。


小结一下,今天咱们学习了 Spring MVCLombok 的常用注解;IDEA 中创建 Java 项目的基本步骤,也了解如何使用 Spring Boot CLI 命令来创建项目;并成功创建了第一个 Java Web 项目,实现了 第一个APIPOST /api/util/echo。掌握如何运行,如何调用 API

下一节,我们会继续分享 Spring MVCHTTP 请求的执行过程,了解 HTTP Request 是怎么传递到 Controller 方法中的。

展开阅读全文

页面更新:2024-04-14

标签:项目   注解   路由   端口   步骤   接口   级别   常用   参数   快速   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top