📜  Spring Boot – RESTful Web 服务简介(1)

📅  最后修改于: 2023-12-03 15:20:12.728000             🧑  作者: Mango

Spring Boot – RESTful Web 服务简介

什么是RESTful Web服务?

REST(Representational State Transfer)是一种以资源为中心的架构风格,可以使用HTTP协议进行通信。RESTful Web服务是一组通过HTTP协议实现的、符合REST风格的Web服务,通常使用JSON格式传输数据,具有简单易用、可扩展性好等特点。

Spring Boot+Spring MVC实现RESTful Web服务

Spring Boot是一款快速开发Web应用程序的工具,它基于Spring框架,可以快速搭建RESTful Web服务。

第一步:创建Spring Boot项目

在IntelliJ IDEA中创建一个新的Spring Boot项目。在创建过程中,需要选择Web模块并添加以下依赖项:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
第二步:创建RESTful控制器

在项目中创建一个新的Java类并添加@RestController注解,表示这是一个RESTful控制器。例:

@RestController
public class HelloWorldController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello World!";
    }
}
第三步:运行项目

可以在命令行中使用mvn spring-boot:run命令或者在IDE中右键点击项目的启动类并选择Run执行程序。此时可以在浏览器中访问http://localhost:8080/hello,即可看到Hello World!的字符串。

第四步:构建RESTful API

使用HTTP请求(GET、POST、PUT等)和URL来调用RESTful服务,通过响应状态码和JSON格式等来返回结果。例如,我们将上述例子改为返回JSON格式:

@RestController
public class HelloWorldController {

    @GetMapping("/hello")
    public Map<String, String> hello() {
        Map<String, String> map = new HashMap<>();
        map.put("message", "Hello World!");
        return map;
    }
}

此时访问http://localhost:8080/hello返回的是JSON格式的{"message":"Hello World!"}字符串。

第五步:错误处理

RESTful服务需要对各种错误进行统一的处理,比如404错误、500错误等。Spring Boot默认提供了很好的错误处理机制,只需要添加一个自定义的错误处理类即可。例如:

@RestControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public Map<String, String> handleException(Exception ex) {
        Map<String, String> map = new HashMap<>();
        map.put("error", ex.getMessage());
        return map;
    }
}

这个类使用@RestControllerAdvice注解表示是一个全局的错误处理类,使用@ExceptionHandler注解来处理异常。返回的数据格式与普通的控制器类相同。

总结

本文介绍了使用Spring Boot和Spring MVC实现RESTful Web服务的基本步骤。RESTful服务具有众多优点,可以方便地与各种客户端进行交互,是现代Web应用程序的重要组成部分。