精华内容
下载资源
问答
  • rest接口调用
    万次阅读
    2018-04-30 00:02:14

    在调用的一方(测试方(B项目))添加依赖

    <dependency>

             <groupId>org.apache.httpcomponents</groupId>

             <artifactId>httpclient</artifactId>

    </dependency>

    一、被调用的方(A项目)的接口代码实现


    @RestController

    @RequestMapping(value ="/rest", method = RequestMethod.POST)

    public classRestRoncooController {

     

    @Autowired

    private RoncooUserLogCache RoncooUserLogCache;

     

    @RequestMapping(value = "/update")

    public RoncooUserLog update(@RequestBody JsonNode jsonNode) {

          System.out.println("jsonNode=" + jsonNode);

          return null;

    }

     

    @RequestMapping(value = "/update/{id}", method =RequestMethod.GET)

    public RoncooUserLog update2(@PathVariable(value = "id")Integer id) {

         System.out.println("jsonNode=" +id);

          return null;

    }

     

    }

    一、测试(B 项目)


    @Autowired

    privateRestTemplateBuilder restTemplateBuilder;

     

    /**

     * get请求

     */

    @Test

    public void getForObject(){

         RoncooUserLog bean =restTemplateBuilder.build().getForObject("http://localhost:8080/rest/update/{id}",RoncooUserLog.class, 6);

         System.out.println(bean);

         Map<String,Object>map = new HashMap<String,Object>();

         map.put("id",7);

         bean =restTemplateBuilder.build().postForObject("http://localhost:8080/rest/update",map, RoncooUserLog.class);

         System.out.println(bean);

    }

    这样B项目就可以直接调用A项目的方法了


    更多相关内容
  • 泛微 9.0 rest 接口调用说明 包含 token 、注册 创建流程接口 单点登录 说明
  • 存储REST接口调用使用说明及范例-xiaoqiang1
  • restTemplate底层是基于HttpURLConnection实现的restful风格的接口调用,类似于webservice,rpc远程调用,但其工作模式更加轻量级,方便于rest请求之间的调用,完成数据之间的交互,在springCloud之中也有一席之地。...

    目录

     

    一restTemplate简介

    二restTemplate常用方法列表

    2.1 get请求方法预览

    2.2 post方法请求预览

    2.3put请求方法预览

    2.4 delete请求方法预览

    2.5exchange方法预览

    三rest接口调用示例

    3.1 get请求接口调用示例

    3.2 post请求示例

    3.3 put接口调用示例

    3.4delete请求示例

    3.5 exchange

     


    一restTemplate简介

    restTemplate底层是基于HttpURLConnection实现的restful风格的接口调用,类似于webservice,rpc远程调用,但其工作模式更加轻量级,方便于rest请求之间的调用,完成数据之间的交互,在springCloud之中也有一席之地。大致调用过程如下图,如果想学习其底层具体如何实现可以查看我的文章 restTemplate源码详解深入剖析底层实现思路
    在这里插入图片描述

    二restTemplate常用方法列表

    forObeject跟forEntity有什么区别呢?主要的区别是forEntity的功能更加强大一些,其返回值是一个ResponseEntity,更加方便我们获得响应的body,head等信息。exchange方法和其他方法不同之处就是能自己定义的rest请求方式。

    2.1 get请求方法预览

    在这里插入图片描述

    2.2 post方法请求预览

    在这里插入图片描述

    2.3put请求方法预览

    在这里插入图片描述

    2.4 delete请求方法预览

    在这里插入图片描述

    2.5exchange方法预览

    在这里插入图片描述

    三rest接口调用示例

    restTemplate配置
    首先本次示例采用的是springboot2.x以上版本,javaSE8;其次发布的服务端是同一台机子,服务端端口8090,客户端端口8080;类路径youku1327;在实际工作中最常用是get,post请求方式;restTemplate简单配置如下:

    /**
     * @Author lsc
     * @Description <p> </p>
     * @Date 2019/10/14 11:40
     * @Version 1.0
     */
    @Configuration
    public class RestTemplateConfig {
    
        // 配置 RestTemplate
        @Bean
        public RestTemplate restTemplate(ClientHttpRequestFactory factory){
            return new RestTemplate(factory);
        }
    
        @Bean
        public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
            // 创建一个 httpCilent 简单工厂
            SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
            // 设置连接超时
            factory.setConnectTimeout(15000);
            // 设置读取超时
            factory.setReadTimeout(5000);
            return factory;
        }
    }
    

    3.1 get请求接口调用示例

    服务费发布的端口

        @GetMapping("user")
        public String getUser(){
            return "youku1327";
        }
    
        @GetMapping("user/{name}")
        public String getUserName(@PathVariable String name){
            return name;
        }
    

    客户端调用
    GET参数说明:

    • 第一个参数是url。
    • 第二个参数是返回值类型。
    • 第三个参数是uri地址路径变量。
     /*
         * @Author lsc
         * @Description  <p> 获得无参的get请求 </p>
         * @Date 2019/10/17 21:15
         * @Param []
         * @return void
         **/
        @Test
        public void testGETNoParams(){
            String result = restTemplate.getForObject("http://localhost:8090/youku1327/user", String.class);
            System.out.println(result);
        }
        /*
         * @Author lsc
         * @Description  <p> URL带参 </p>
         * @Date 2019/10/18 13:49
         * @Param []
         * @return void
         **/
        @Test
        public void testGETParams(){
            // http://localhost:8090/youku1327/user/{1}
            String result = restTemplate.getForObject("http://localhost:8090/youku1327/user/{name}", String.class,"lsc");
            System.out.println(result);
        }
    

    3.2 post请求示例

    POST请求参数说明

    • 第一个参数是url。
    • 第二个参数是请求参数。
    • 第三个参数是返回值类型。
    • 第三个参数是uri地址路径变量。

    服务端发布接口

     @PostMapping("provider")
        public ResponseEntity<String> addData(@RequestBody JSONObject jsonObject){
            String user = (String) jsonObject.get("user");
            return ResponseEntity.ok(user);
        }
    

    客户端接口调用

     /*
         * @Author lsc
         * @Description  <p> post</p>
         * @Date 2019/10/18 23:23
         * @Param []
         * @return void
         **/
        @Test
        public void testPostMethod() throws MalformedURLException {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("user","youku1327");
            HttpHeaders httpHeaders = new HttpHeaders();
            // 设置请求类型
            httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
            // 封装参数和头信息
            HttpEntity<JSONObject> httpEntity = new HttpEntity(jsonObject,httpHeaders);
            String url = "http://localhost:8090/youku1327/provider";
            ResponseEntity<String> mapResponseEntity = restTemplate.postForEntity(url, httpEntity, String.class);
            System.out.println(mapResponseEntity.getBody());
        }
    

    3.3 put接口调用示例

    PUT请求参数说明

    • 第一个参数是url。
    • 第二个参数是请求参数。
    • 第三个参数是uri地址路径变量。

    服务端发布接口

     @PutMapping("provider/{id}")
        public ResponseEntity<JSONObject> updateData(@PathVariable Long id, @RequestBody JSONObject jsonObject){
            Object object = jsonObject.get("user");
            jsonObject.put("id",id);
            // {"id":1327,"user":"youku1327"}
            System.out.println(jsonObject);
            return ResponseEntity.ok(jsonObject);
        }
    
    

    客户端接口调用

        /*
         * @Author lsc
         * @Description  <p> put</p>
         * @Date 2019/10/18 23:23
         * @Param
         * @return
         **/
    
        @Test
        public void testPutMethod() throws MalformedURLException {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("user","youku1327");
            HttpHeaders httpHeaders = new HttpHeaders();
            // 设置请求类型
            httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
            // 封装参数和头信息
            HttpEntity<JSONObject> httpEntity = new HttpEntity(jsonObject,httpHeaders);
            String url = "http://localhost:8090/youku1327/provider/{id}";
            restTemplate.put(url, httpEntity, 1327);
        }
    

    3.4delete请求示例

    DELETE请求参数说明

    • 第一个参数是url
    • 第二个参数uri地址路径变量。

    服务端发布接口

        @DeleteMapping("provider/{id}")
        public ResponseEntity<String> delData(@PathVariable Long id){
            String result = "delete"+id+"success";
            // delete1327success
            System.out.println(result);
            return ResponseEntity.ok(result);
        }
    

    客户端调用接口

      /*
         * @Author lsc
         * @Description  <p> delete</p>
         * @Date 2019/10/18 23:22
         * @Param []
         * @return void
         **/
        @Test
        public void testDelete(){
            String url = "http://localhost:8090/youku1327/provider/{id}";
            restTemplate.delete(url,1327);
        }
    
    

    3.5 exchange

    参数说明:

    • 第一个参数是url。
    • 第二个参数是请求方式。
    • 第三个参数是请求实体。
    • 第四个参数是返回值类型。
    • 第五个参数是uri地址变量。

    服务端发布接口

        @GetMapping("user/{name}")
        public String getUserName(@PathVariable String name){
            return name;
        }
    
    

    客户端调用接口

        /*
         * @Author lsc
         * @Description  <p> exchange</p>
         * @Date 2019/10/18 23:22
         * @Param []
         * @return void
         **/
        @Test
        public void testExchange(){
            String url = "http://localhost:8090/youku1327/user/{name}";
            HttpHeaders httpHeaders = new HttpHeaders();
            httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
            HttpEntity httpEntity = new HttpEntity(httpHeaders);
            ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class, "youku1327");
            System.out.println(exchange.getBody());
        }
    
    

     

    展开全文
  • CDN REST接口调用及说明-hexiaoqiang1
  • 1. 概述与SOAP相比,REST WebService简化了调用,也降低了技能要求。REST 近年来已经成为最主要的 Web 服务设计模式。 事实上,REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL ...

    1. 概述

    与SOAP相比,REST WebService简化了调用,也降低了技能要求。

    REST 近年来已经成为最主要的 Web 服务设计模式。 事实上,REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计。

    您可以不用知道REST是什么,按照我们的手册发起HTTP请求即可,只需遵从以下的基本原则

    1 REST用URL来描述资源,如人员、部门、协同、公文。

    2 使用HTTP协议的GET、POST、PUT和DELETE来描述资源的获取、创建、修改和删除。

    请注意,所有的REST服务都必须传递通过验证服务获取的token,以下不再赘述。

    1.1. 启用RESTFul web service

    协同安装完成以后是不能直接使用RESTFul web service的,需要系统管理员登录系统,在信息集成配置 → REST用户管理模块中添加REST用户并启用该用户即可。

    系统管理员创建REST用户后需要对REST用户进行资源授权,REST用户只能访问已经授权的资源。

    f9ae3300dd413e2087c17c524f65d5ed.png

    1.2. 配置开发环境

    启动服务,查看RESTFull web service服务的WADL:

    http://ip:port/seeyon/rest/application.wadl

    例如:http://127.0.0.1:8080/seeyon/rest/application.wadl

    1.3. 验证服务

    使用创建的REST用户访问RESTFul web service时首先要进行身份验证获取token,所有服务都必须提供合法的令牌ID方可调用。

    为保证安全,验证服务必须使用POST方式,用户名和密码使用请求Body以JSON格式发送。

    接口调用请求说明

    http请求方式:POST

    http://ip:port/seeyon/rest/token

    原始的HTTP请求如下所示

    POST http://127.0.0.1/seeyon/rest/token HTTP/1.1

    Host: 127.0.0.1

    Accept: application/json

    Content-Type: application/json

    {"userName":"rest","password":"123456"}

    请求实例:

    http://IP:port/seeyon/rest/token/{restusername}/{password}

    参数说明

    参数

    是否必须

    说明

    userName

    REST用户登录名

    password

    REST用户密码

    返回说明

    成功返回JSON字符串,失败返回-1。

    成功:

    {"id": "013a2a1e-a0b0-4f66-b533-da0563f89c6c"}

    失败:

    {"id": "-1"}

    1.3.1. 验证服务增加设置当前登录人员(Since:V6.0)

    验证服务服务接口可以绑定设置当前OA登录人员。

    接口调用请求说明:

    请求示例:

    http://ip:port/seeyon/rest/token/{restusername}/{password}?loginName={loginName}

    http://ip:port/seeyon/rest/token/{restusername}/{password}?memberCode={memberCode}

    参数说明

    参数

    是否必须

    说明

    userName

    REST用户登录名

    password

    REST用户密码

    loginName

    OA用户登录名

    memberCode

    OA用户编码,since 7.1

    7.1之前loginName为必填;7.1之后loginName与memberCode任选一个参数即可。

    返回说明

    成功返回JSON字符串,失败返回 :找不到页面

    成功:

    {"bindingUser":"..."

    "id": "013a2a1e-a0b0-4f66-b533-da0563f89c6c"}

    失败:

    {"id": "-1"}

    1.4. 获取Token是否校验绑定IP(Since:V5.6)

    新建REST 帐号时,通过是否勾选【获取Token是否校验IP】来设置在获取Token时,是否对当前请求的IP做校验。

    abf586b365f3bee1eaa9c808a569a7d3.png

    参数说明

    参数

    是否勾选

    说明

    获取token是否校验绑定IP

    勾选

    获取token时校验IP,如果与【绑定IP】设置不同,无法获取token

    获取token是否校验绑定IP

    不勾选

    不对请求IP做校验

    1.5. 传递Token

    除了验证服务,所有的REST调用时必须传递Token,如果不传递Token或传递错误的Token,将返回HttpStatus.SC_UNAUTHORIZED401错误及错误信息。

    Token的生命周期为15分钟,如果15分钟无调用,Token将失效,失效以后调用返回401,提示“Invalid token,please authenticate again”。

    Token的传递方式有两种:

    1 在HTTP请求的header中,使用token属性

    GET http://127.0.0.1/seeyon/rest/xxx HTTP/1.1

    Host: 127.0.0.1

    Accept: application/json

    Content-Type: application/json;charset=UTF-8

    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36

    Cookie: JSESSIONID=5079B8DC8A4BD52E48FBA4DE78C2A43C

    token:xxxxxxx

    2 在请求参数中传递,如

    http://127.0.0.1/seeyon/rest/orgMember/123?token=xxxxxxx

    如果您使用的是我们的客户端,调用client.authenticate(userName, password);即可。

    展开全文
  • 通过jetty+jersey动态发布rest接口接口调用
  • 0x0 Livy安装与运行 登录官网:...下载最新版 livy。 1. 解压 2. 配置:在conf/livy-env.sh中添加: export SPARK_HOME=path/to/spark export HADOOP_CONF_DIR=/etc/hadoop/conf ...#前台模式,...

    0x0 Livy安装与运行

    登录官网:http://livy.incubator.apache.org/
    下载最新版 livy。
    1. 解压
    2. 配置:在conf/livy-env.sh中添加:

    export SPARK_HOME=path/to/spark
    export HADOOP_CONF_DIR=/etc/hadoop/conf
    1. 进入bin文件执行
    #前台模式,可观察程序运行日志
    ./livy-server
    #后台模式
    ./livy-server start

    启动服务。
    注意:如果报错说无法创建日志文件,则创建相应的日志文件的路径,然后重启livy。

    0x1 使用

    当成功启动livy服务后,打开浏览器,输入:
    localhost:8998
    登录livy页面,可见如下页面:
    这里写图片描述

    livy支持两种两种任务提交方案:
    1、交互式:说白了,就是把原本在spark-shell里面执行的语句,通过http请求发送到livy服务端,然后livy在服务端开启spark-shell执行你传过来的语句;
    2、批处理式:说白了,帮你做spark-submit的工作,同样通过http请求吧参数发到livy服务端。

    1.1 交互式使用方法

    工具采用postman,首先新建一个session(其实就是开启一个spark application):请求方式post,请求URL为 livy-ip:8998/sessions
    请求体类似如下格式:

    {
        "kind": "spark",
        "conf" : {
            "spark.cores.max" : 4,
            "spark.executor.memory" : "512m"
        }
    }

    这里写图片描述
    就是利用postman发送一个post请求,请求体是json格式,json中可以指定appName,申请多少内存,申请多少cpu等信息。
    然后会受到响应:
    这里写图片描述
    可以看到,开启了一个session,他的id=1。
    接下来,我们可以向该session发送scala语句进行执行,请求方式post,请求URL为 livy-ip:8998/sessions/{id}/statements:
    这里写图片描述
    可以得到一个响应:
    这里写图片描述
    可以看到,这里的id=0,是指该statments的id
    然后在发送另一个请求来查看输出,请求方式get,请求url为livy-ip:8998/sessions/1/statements/0:
    这里写图片描述
    可以得到响应:
    这里写图片描述
    其中,output中的data就是输出的具体数据,progress是指进度,有时候查出来progress小于1,说明任务还没执行完。

    未完待续

    展开全文
  • k8s rest接口调用实例

    千次阅读 2019-11-17 17:33:10
    1、调用api server得到节点的监控数据 curl -o nodeexporter.log -k -u k8s_usrname: k8s_password https://10.4.**.**:6443/api/v1/nodes/node-kle6kz7u/proxy/metrics 注:-k 必不可少,忽略证书验证。 不加参数k...
  • 泛微接口说明与调用实例
  • 网上的调用方法实例千奇百怪,以下为本人自己整理的Java调用rest接口方法实例,包含get请求和post请求,可创建工具类方便调用,其中post请求解决了入出参中文乱码问题。 get方式请求 //get方式请求 public ...
  • 调用rest接口

    千次阅读 2018-04-20 14:17:24
    标题首先URL restURL = new URL(url);这其中的url就是需要调的目标接口地址,URL类是java.net.*下的类,这个不陌生。 setRequestMethod(“POST”);请求方式是有两个值进行选择,一个是GET,一个是POST,选择对应的...
  • REST接口如何调用

    千次阅读 2019-12-25 09:17:27
    封装一个方法用于调用,方法是post,header必须填写 public String sendWechat(OaWeChat oc) { String url = "################"; // OaWeChat oc=new OaWeChat(); // oc.setContent("测试"); // 测试的...
  • Java 调用Http Rest接口 例子说明2
  • Java 调用Http Rest接口 例子说明

    热门讨论 2016-07-07 21:50:21
    Java 调用Http Rest接口 例子说明
  • 接口调用rest形式的接口

    千次阅读 2019-05-16 23:12:13
    在工程实践中,可能经常会遇到一个项目中的服务组件需要调用另一个项目中的服务组件,除了使用dubbo接口之外,还可以使用rest调用的形式直接调用其他非本工程的接口,其使用方式如下: { @Value("${service.host}...
  • REST调用

    2021-05-18 05:28:57
    1. 概述与SOAP相比,REST WebService简化了调用,也降低了技能要求。REST 近年来已经成为最主要的 Web 服务设计模式。 事实上,REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL ...
  • Angular-RESTfulService, Angular 调用rest式服务的示例 Angular rest式服务示例这个项目简单地介绍了如何使用 Angular 来调用rest式服务。 只需克隆项目或者下载并提取. zip 即可开始。 Angular 概念使用app类和...
  • rest 调用有参数接口

    2019-08-10 03:07:27
    NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2208925
  • 基于REST架构的Web Service设计,REST服务Post创建以及调用小例子
  • 相信做过自动化运维的同学都用过REST API接口来完成某些动作。API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课。 本文主要介绍python中调用REST API的几种方式,下面是python...
  • dubbo的Rest调用

    千次阅读 2021-12-12 22:23:33
    dubbo也支持rest的方式调用服务,比如说有个服务他没有集成dubbo,但是他也想调用你的provider,那怎么办?他就可以用rest协议去调用 ​ 代码地址 https://gitee.com/zjj19941/ZJJ_Dubbo.git 下的 rest 项目 ​ 代码...
  • java调用rest接口

    万次阅读 2016-11-21 16:03:59
    * POST方式调用 * * @param url * @param params 参数为NameValuePair键值对对象 * @return 响应字符串 * @throws java.io.UnsupportedEncodingException */ public String executeByPOST(String url, List...
  • 下面小编就为大家带来一篇基于Restful接口调用方法总结(超详细)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 使用asp.net 实现了Rest服务接口,包括实现的文档。Rest接口返回的数据包括json、Stream等。代码结构清晰,可以直接用VS2013运行
  • kettle rest 接口 请求实例,rest client 登陆,获取解释token,保存token,批量、单个请求接口,json交互
  • 致远OA开发,调用REST接口,实现远程发起OA表单。附上实现代码、相关jar包、以及致远API地址
  • REST式的Web Service使用HTTP里的方法:GET, POST, DELETE, PUT。你不需要使用URL或请求的内容来指定...REST式的Web Service调用产生的HTTP请求内容只是用于服务数据——不是用来指明调用方法,目标对象或返回值...
  • java Rest 接口

    2018-03-21 09:22:31
    REST是一套用来创建Web Service的方法。  REST式的Web Service的主旨是让事情尽量的简单化。... REST式的Web Service调用产生的HTTP请求内容只是用于服务数据——不是用来指明调用方法,目标对象或返回值的。
  • 泛微ecology9统一待办中心接口说明

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,846
精华内容 43,138
关键字:

rest接口调用

友情链接: AssaultCubeHack-master.zip