6.2 Cree una interfaz de aplicación RESTful

Capítulo 6 Creación de servicios RESTful

6.1 Introducción a RESTful
6.2 Creación de una interfaz de aplicación RESTful
6.3 Uso de Swagger para generar documentos Web API
6.4 Práctica: implementación del control de versiones de Web API

6.2 Cree una interfaz de aplicación RESTful

6.2.1 Compatibilidad de Spring Boot con RESTful

Los componentes proporcionados por Spring Boot spring-boot-starter-webson totalmente compatibles con el desarrollo de API RESTful y proporcionan anotaciones correspondientes a los métodos de operación REST (GET, POST, PUT, DELETE):

  1. @GetMapping: maneja solicitudes GET para obtener recursos.
  2. @PostMapping: procesa solicitudes POST y agrega recursos.
  3. @PutMapping: maneja solicitudes PUT y actualiza recursos.
  4. @DeleteMapping: maneja solicitudes DELETE y elimina recursos.
  5. @PatchMapping: maneja solicitudes de PATCH para actualización parcial de recursos.

A través de estas anotaciones, puede crear fácilmente interfaces RESTful en proyectos Spring Boot. Las anotaciones más utilizadas son @GetMapping, @PostMapping, @PutMapping, @DeleteMapping.

Es muy simple desarrollar una interfaz RESTful usando Spring Boot: defina el controlador a través de @RestController y luego use anotaciones como @GetMapping y @PostMapping para definir el mapeo de direcciones e implementar los métodos de operación de recursos correspondientes.

Ejemplo:

RESTfulController.java

package com.example.restfulproject.controller;

import com.example.restfulproject.model.User;
import org.springframework.web.bind.annotation.*;

/**
 * RESTful 接口简单案例(增删改查)
 */
@RestController
public class RESTfulController {
   
    
    

    @GetMapping(value = "/user/{id}")
    public String getUserById(@PathVariable String id) {
   
    
    
        return "getUserById:" + id;
    }

    @PostMapping(value = "/user")
    public String save(@RequestBody User user) {
   
    
    
        String name = user.getName();
        return "save successed";
    }

    @PutMapping(value = "/user")
    public String update(@RequestBody User user) {
   
    
    
        return "update successed";
    }

    @DeleteMapping(value = "/user/{id}")
    public String delete(@PathVariable String id) {
   
    
    
        return "delete id:" + id;
    }


/*
    // 上面的注解是 @RequestMapping 注解的简化:

    @RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
    public String getUserById(@PathVariable String id) {
        return "getUserById:" + id;
    }

    @RequestMapping(value = "/user", method = RequestMethod.POST)
    public String save(User user) {
        return "save successed";
    }

    @RequestMapping(value = "/user", method = RequestMethod.PUT)
    public String update(User user) {
        return "update successed";
    }

    @RequestMapping(value = "/user/{id}", method = RequestMethod.DELETE)
    public String delete(@PathVariable String id) {
        return "delete id:" + id;
    }
*/
}

6.2.2 Spring Boot implementa la API RESTful

1. Diseñar API

En la arquitectura RESTful, cada URL representa un recurso, por lo que se recomienda no incluir verbos en el URI, sino solo sustantivos, y los sustantivos utilizados a menudo corresponden a los nombres de las tablas de la base de datos.

(1) Definición de interfaz

La siguiente tabla es la definición de la interfaz del módulo de gestión de usuarios. El documento API RESTful del proyecto real debería ser más detallado y también se definirá la estructura de datos de todas las solicitudes.

Descripción de la API del módulo de gestión de usuarios

Método HTTP dirección de interfaz Descripción de la interfaz
CORREO /usuario crear usuario
CONSEGUIR /usuario/id Obtener información del usuario por id
PONER /usuario actualizar usuario
BORRAR /usuario/id Eliminar el usuario correspondiente según el id.

La interfaz del módulo de administración de usuarios se define en la tabla anterior. De acuerdo con la definición de REST, definimos un usuario como un recurso y realizamos agregar, eliminar, modificar y verificar usuarios a través de métodos HTTP como POST, DELETE, PUT. , y obten.

(2) Definición de código de estado e información rápida

Además de diseñar la interfaz URL, también es necesario definir el código de estado y la información solicitada que el servidor devuelve al cliente. Consulte la siguiente tabla para obtener descripciones detalladas de los códigos de estado.

Descripción del módulo de gestión de usuarios 状态码:

código de estado Descripción de la Situación
200 Ok, la solicitud fue exitosa.
201 Creado, agregado exitosamente
203 Actualizado, modificado exitosamente
204 Eliminado, eliminado con éxito

Además de definir los códigos de estado del negocio relacionados con la gestión de usuarios, también es necesario definir códigos de error generales, como el 400 correspondiente a errores de verificación de datos, el 401 correspondiente a datos sin permiso, etc.

Descripción del módulo de gestión de usuarios 错误码:

código de error Error de descripción
400 error de validación de datos
401 Sin autorización
404 el recurso no existe
500 Error del Servidor

2. Implementar la interfaz de gestión de usuarios.

UserManagementController.java

package com.example.restfulproject.controller;

import com.example.restfulproject.comm.utils.JSONResult;
import com.example.restfulproject.m

Supongo que te gusta

Origin blog.csdn.net/Shipley_Leo/article/details/129093550
Recomendado
Clasificación