您现在的位置是:首页 >技术交流 >Spring请求与响应——响应网站首页技术交流

Spring请求与响应——响应

一哑7 2023-05-31 16:00:03
简介Spring请求与响应——响应

我们上一篇文章说了请求,SpringMVC接收到请求和数据后,进行一些了的处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户也就是给用户响应回去。

对于响应,主要就包含两部分内容:

  • 响应页面
  • 响应数据(文本数据、 json数据

响应页面

SpringMVC响应页面很简单啊,以字符串格式(String)return“页面名称”。
在这里插入图片描述

响应数据

响应文本数据

@ResponseBody(不加的话会当作响应页面处理)

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

在这里插入图片描述

响应json数据

 //响应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;
    }

在这里插入图片描述

在这里插入图片描述

是不是发现和返回文本很像,确实,不过要分清哦,文本返回字符串josn返回类也就是pojo

名称@ResponseBody
类型方法类注解
位置SpringMVC控制器方法定义上方和控制类上
作用设置当前控制器返回值作为响应体,
写在类上,该类的所有方法都有该注解功能
相关属性pattern:指定日期时间格式字符串

说明:

  • 该注解可以写在类上或者方法上
  • 写在类上就是该类下的所有方法都有@ReponseBody功能
  • 当方法上有@ReponseBody注解后
    • 方法的返回值为字符串,会将其作为文本内容直接响应给前端
    • 方法的返回值为对象,会将对象转换成JSON响应给前端
  • 对象转Json数据(POJO -> json)
  • 集合转Json数据(Collection -> json)

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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。