Rest,即 Representtational state Transfer,翻译为:“表现层状态转化”.
常用HTTP动词如下:
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
还有两个不常用的HTTP动词。
HEAD:获取资源的元数据。
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的
rest详解参考文章:
Restful API 设计指南
简单的使用示例子:
package cn.lz.platform.dh_pipeline_task.utils;
import org.springframework.web.client.RestTemplate;
/**
*
* Copyright: Copyright (c) 2018 Jun_Zhou
*
* @ClassName: GitlabApiTest.java
* @Description: RestTemplate使用的小例子;
*
* Attention:建议使用URL直接编码参数的方式执行请求,采用媒介例如Map等在特定第三方资源服务其上可能会响应错误;
*
* @version: v1.0.0
* @author: JunZhou
* @Email: 1769676159@qq.com
* @Site: CERNO
* @date: 2018年12月18日
*/
public class GitlabApiTest
{
static RestTemplate restTemplate = new RestTemplate();
public static void main(String[] args) throws Exception
{
//发送post请求,删除指定的分支;
/*1、 delete
String url = "http://gitlab.example.com/api/v4/projects/797/repository/branches/branch4?private_token=currentUserPrivateToken";
restTemplate.delete(url);//发送delete请求;
*/
//发送post请求创建指定的分支;
//2、post
/*
String url = "http://gitlab.example.com/api/v4/projects/797/repository/branches?branch=branch7&ref=master&private_token=currentUserPrivateToken";
String request = null;
Object postForObject = restTemplate.postForObject(url, request, String.class);
System.out.println("postForObject--------->"+postForObject);
*/
//3、get
/*
String url = "http://gitlab.example.com/api/v4/projects/797/repository/branches?branch=branch8&ref=master&private_token=currentUserPrivateToken";
Object postForObject = restTemplate.getForObject(url,String.class);
System.out.println("postForObject--------->"+postForObject);
*/
//4、put
/*String url = "http://gitlab.example.com/api/v4/projects/797/repository/branches/branch7/protect?developers_can_push=true&developers_can_merge=true&private_token=currentUserPrivateToken";
restTemplate.put(url, null);*/
}
}