springBoot的restFull

一、什么是restFull

首先restFull是一种架构思想, 简单来说就是资源服务定位, 我们在我们的 项目当中,可以把我们的任何一个操作理解成为一个独立资源,而在获取这个资源的时候只有两种情况,能获取到和获取不到,而在我们传统的项目当中,我们的任意一个操作都似乎通过HTTP协议来实现数据交互的,而操作结果都是由我们的http协议说了算,200,500,404,302,我们的restfull简单理解就是把这个就是资源状态化。而这个状态由我们来指定, 如果采用restfull,我们的设计理念就变成了,在获取资源的时候,要么的到资源,要么得不到资源,而要达到这个效果,需要用两种方式来实现,
1、返回数据必须直接返回给访问者,有点像ajax+json,那就要求资源端返回具体的数据,一般都是json
2、url可读性更高,也就是我们服务器在设计暴露的url的时候必须让url望文生义。

二、利用springBoot实现一个restFull的请求

package com.xingxue.controller;

import java.util.Date;
import java.util.HashMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/role")
public class RoleController {
//post 提交数据  get获取数据  delete删除数据   update修改数据
    @RequestMapping("get/{roleId}")
    public HashMap<String, Object> getRole(@PathVariable int roleId) {
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("name", "超管");
        map.put("status", "1");
        map.put("date", new Date());
        return map;
    }
}

@Controller变成@RestController
@RequestMapping(“get/{roleId}”) 引入了一个参数的获取方式
我们访问数据的时候对应的url:http://localhost:8089/role/get/2
结果如下:
这里写图片描述

从上我们可以发现,
1、url定义的方式和我们以前不一样
2、获取的结果是以json展示的
由此我们得到springBoot支持restFull风格

基于此风格我们发现,只要这个url暴露出去,我们不管是移动端,还是web端,还是其他应用程序得到的结果都是一个通用的标准,那我们后台开发就很轻便,当然resetFull强调我们的程序命名规则必须规范化,比如:
删除 delete/id
修改 update/id
提交 post
查询 get/id

所以我们的restfull简单来说就是一种新的编程的理念和规范化的url及返回数据的管理

猜你喜欢

转载自blog.csdn.net/sky274548769/article/details/78744013