spring boot系列(二)spring boot web开发

  • json 接口开发

在以前的spring 开发的时候需要我们提供json接口的时候需要做如下配置:

1 添加jackjson等jar包

2 配置spring controller扫描

3 对接的方法添加@ResponseBody

如果使用spring boot 如何做呢,只需要类添加 @RestController即可,默认类中的方法都以json格式返回。

举例1:

/**
 * @RestController = @Controller + @ResponseBody。
所以,以后定义controller的时候,可以直接使用@Controller,如果需要返回json可以直接在方法中添加@ResponseBody即可
 * @author 1
 *
 */
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public HashMap<String, String> hello() {
        
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("w", "1");
        map.put("wq", "12");
        map.put("wq1", "123");
        map.put("wq12", "123");
        return map;
        //return "hello";
    }

}

运行结果如下:

举例2:

package com.cfj.testboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.cfj.testboot.domain.UserDo;

@RestController
public class TestReturnJson {
    
    @RequestMapping("/returnjson")
    public UserDo testReturnJson() {
        
        UserDo u = new UserDo();
        u.setId(1);
        u.settName("测试人员");
        return u;
        
    }

}

运行结果如下:

@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

如下代码 访问路径:http://localhost:8081/test/returnjson

package com.cfj.testboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.cfj.testboot.domain.UserDo;

@RestController
@RequestMapping("/test")
public class TestReturnJson {
    
    @RequestMapping("/returnjson")
    public UserDo testReturnJson() {
        
        UserDo u = new UserDo();
        u.setId(1);
        u.settName("测试人员");
        return u;
        
    }

}
原文地址:https://www.cnblogs.com/kxm87/p/9267907.html