Solicitud y respuesta de primavera - respuesta

Hablamos sobre la solicitud en el último artículo. Después de que SpringMVC recibe la solicitud y los datos, realiza un procesamiento. Por supuesto, este procesamiento se puede reenviar al Servicio, y la capa del Servicio llama a la capa Dao para completar. En cualquier caso, después del procesamiento, necesita Informar al usuario del resultado significa darle una respuesta al usuario.

Para la respuesta, incluye principalmente dos partes:

  • página de respuesta
  • Datos de respuesta (datos de texto,datos json

página de respuesta

La página de respuesta de SpringMVC es muy simple, devuelve el "nombre de la página" en formato de cadena (String).
inserte la descripción de la imagen aquí

datos de respuesta

datos de texto de respuesta

@ResponseBody (si no se agrega, se tratará como una página de respuesta)

//响应文本数据
    //返回值为String类型,设置返回值为任意字符串信息,即可实现返回指定字符串信息,需要依赖@ResponseBody注解
    @RequestMapping("/toText")
    @ResponseBody
    public String toText(){
    
    
        System.out.println("返回纯文本数据");
        return "response text";
    }

inserte la descripción de la imagen aquí

datos json de respuesta

 //响应POJO对象
    //返回值为实体类对象,设置返回值为实体类类型,即可实现返回对应对象的json数据,需要依赖@ResponseBody注解和@EnableWebMvc注解
    @RequestMapping("/toJsonPOJO")
    @ResponseBody
    public User toJsonPOJO(){
    
    
        System.out.println("返回json对象数据");
        User user = new User();
        user.setName("itcast");
        user.setAge(15);
        return user;
    }

    //响应POJO集合对象
    //返回值为集合对象,设置返回值为集合类型,即可实现返回对应集合的json数组数据,需要依赖@ResponseBody注解和@EnableWebMvc注解
    @RequestMapping("/toJsonList")
    @ResponseBody
    public List<User> toJsonList(){
    
    
        System.out.println("返回json集合数据");
        User user1 = new User();
        user1.setName("黑予督");
        user1.setAge(15);

        User user2 = new User();
        user2.setName("张鑫乐");
        user2.setAge(12);

        List<User> userList = new ArrayList<User>();
        userList.add(user1);
        userList.add(user2);

        return userList;
    }

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

¿Encontró que es muy similar al texto devuelto, de hecho,Pero para que quede claro, la clase de retorno de la cadena de retorno de texto josn es pojo

nombre @ResponseBody
tipo Método\Anotación de clase
Ubicación Por encima de la definición del método del controlador SpringMVC y en la clase de control
efecto Establezca el valor de retorno del controlador actual como el cuerpo de la respuesta y
escríbalo en la clase. Todos los métodos de esta clase tienen esta función de anotación.
atributos relacionados patrón: especifica la cadena de formato de fecha y hora

ilustrar:

  • Esta anotación se puede escribir en la clase o en el método.
  • Escrito en la clase significa que todos los métodos de la clase tienen la función @ReponseBody
  • Cuando el método se anota con @ReponseBody
    • El valor de retorno del método es una cadena, que se responderá directamente al front-end como contenido de texto.
    • El valor de retorno del método es un objeto, que convertirá el objeto en una respuesta JSON al front-end
  • Objeto a datos Json (POJO -> json)
  • Colección a datos Json (Colección -> json)

Converter这个接口专门来做数据类型转换的,很多都是通过它,没事可以看看

Supongo que te gusta

Origin blog.csdn.net/weixin_45696320/article/details/130290476
Recomendado
Clasificación