Spring web MVC(2)

1、@RequestMapping称为路由映射(既是类注解也是方法注解提供访问路径)

2、@RequestParam起到重命名的作用,也起到绑定的作用,传递集合list时会用到,多个值绑定给list,默认是必传参数如果不传参数需要设置required=false

3、JSON(javaScript对象表示法)就是数据格式,表示一个对象的数组或数组的信息,本质就是字符串,主要负责在不同的语言中数据传递和转换

JSON基本数据格式展示

也可以压缩表示,提高性能

网上有json格式检测的工具如果感觉自己的格式不知对错可以去检测一下

4、JSON代码编写

java 复制代码
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JSONUtils {
    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper objectMapper=new ObjectMapper();
        UserInfo userInfo=new UserInfo();
        userInfo.setName("zhangsan");
        userInfo.setAge(18);
        userInfo.setId(10);

        //对象转JSON
        String s=objectMapper.writeValueAsString(userInfo);
        System.out.println(s);

        //JSON字符串转java对象
        UserInfo userInfo1=objectMapper.readValue(s,UserInfo.class);
        System.out.println(userInfo1);
    }
}

输出

5、JSON优点

6、JSON代码传递参数编写

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestBody UserInfo userInfo) {
     return userInfo.toString();
    }
}

7、获取URL中的参数(路径中大括号的参数要和Integer后面的一样才行)

@PathVariable获取路径中的参数

(1)单个参数

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}")
    public  String r1(@PathVariable Integer articleId) {
     return "articleId:"+articleId;
    }
}

(2)请求多个参数时(参数必须赋值)

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}/{id}")
    public  String r1(@PathVariable Integer articleId,@PathVariable Integer id) {
     return "articleId:"+articleId+"   id:"+id;
    }
}

(3)对参数进行换名字

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}/{id}")
    public  String r1(@PathVariable("articleId") Integer xinId,@PathVariable Integer id) {
     return "articleId:"+xinId+"   id:"+id;
    }
}

8、获得文件

@RequestPart注解来获取文件

(1)获取文件

在这里改成上传文件

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestPart MultipartFile file) {
     return "获取上传文件:"+file.getOriginalFilename();
    }
}

(2)将获取到的文件放在指定路径下

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestPart MultipartFile file) throws IOException {
        String fileName=file.getOriginalFilename();
        file.transferTo(new File("D:/demo"+fileName));
     return "获取上传文件:"+file.getOriginalFilename();
    }
}

9、返回HTML页面

复制代码
@Controller
@ResponseBody
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String getHeader()  {
        return "<h1>我是HTML页面</h1>";
}
}
相关推荐
张3蜂1 小时前
Gunicorn深度解析:Python WSGI服务器的王者
服务器·python·gunicorn
Chen放放6 小时前
【华三】VXLAN-三层集中式网关配置
运维·网络
碎梦归途6 小时前
思科网络设备配置命令大全,涵盖从交换机到路由器的核心配置命令
linux·运维·服务器·网络·网络协议·路由器·交换机
七维大脑虚拟机6 小时前
飞牛NAS公网IPv6+DDNS远程访问零延迟教程
运维·服务器·网络
小天源7 小时前
nginx在centos7上热升级步骤
linux·服务器·nginx
AZ996ZA7 小时前
自学linux第十八天:【Linux运维实战】系统性能优化与安全加固精要
linux·运维·安全·性能优化
一体化运维管理平台9 小时前
DevOps落地利器:美信监控易如何打通开发与运维?
运维
宴之敖者、9 小时前
Linux——\r,\n和缓冲区
linux·运维·服务器
LuDvei9 小时前
LINUX错误提示函数
linux·运维·服务器
未来可期LJ9 小时前
【Linux 系统】进程间的通信方式
linux·服务器