WebClient,HTTP Interface远程调用阿里云API

这篇具有很好参考价值的文章主要介绍了WebClient,HTTP Interface远程调用阿里云API。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WebClient,HTTP Interface远程调用阿里云API,阿里云,云计算

 HTTP Interface

  1. Spring 允许我们通过定义接口的方式,给任意位置发送 http 请求,实现远程调用,可以用来简化 HTTP 远程访问。需要webflux场景才可

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
  2. 定义接口

    public interface BingService {
    
        @GetExchange(url = "/search",accept="application/json")//请求的地址,接收json数据
        Mono<String> search(@RequestParam("area") String keyword,
                        @RequsetHeader("Authorization") String auth);//在service里@GetExchange表示我要发一个请求参数叫"area"
    //和controller上不一样.
    }
  3. 创建代理&测试

    @SpringBootTest
    class Boot05TaskApplicationTests {
    
        @Test
        public Mono<String> weather(String city) {
            //1、创建客户端
            WebClient client = WebClient.builder()
                    .baseUrl("https://cn.bing.com")//给哪发请求
                    .codecs(clientCodecConfigurer -> {
                        clientCodecConfigurer
                                .defaultCodecs()
                                .maxInMemorySize(256*1024*1024);
                                //响应数据量太大有可能会超出BufferSize,所以这里设置的大一点
                    })
                    .build();
            //2、创建工厂
            HttpServiceProxyFactory factory = HttpServiceProxyFactory
                    .builder(WebClientAdapter.forClient(client)).build();
            //3、获取代理对象
            BingService bingService = factory.createClient(BingService.class);//BingService.class接口名
    
    
            //4、测试调用
            Mono<String> search = bingService.search(city,"APPCODE XXXXXXXX");
            return weather;
    
        }
    
    }
  4. 生产模式----编写配置类config/WeatherConfiguration,@config

    @Bean
    WeatherInterface WeatherInterface(){
    //1、创建客户端
            WebClient client = WebClient.builder()
                    .baseUrl("https://cn.bing.com")//给哪发请求
                    .codecs(clientCodecConfigurer -> {
                        clientCodecConfigurer
                                .defaultCodecs()
                                .maxInMemorySize(256*1024*1024);
                                //响应数据量太大有可能会超出BufferSize,所以这里设置的大一点
                    })
                    .build();
            //2、创建工厂
            HttpServiceProxyFactory factory = HttpServiceProxyFactory
                    .builder(WebClientAdapter.forClient(client)).build();
            //3、获取代理对象
            WeatherInterface WeatherInterface = factory.createClient(WeatherInterface.class);//BingService.class接口名
    return WeatherInterface;
    }
  5. WeatherService文章来源地址https://www.toymoban.com/news/detail-604458.html

    @Autowired
    WeatherInterface WeatherInterface
    
    
    
    //4、测试调用
            Mono<String> weather = WeatherInterface.search(city,"APPCODE XXXXXXXX");
            return weather;
    

到了这里,关于WebClient,HTTP Interface远程调用阿里云API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 调用阿里API实现图片中的文字识别

    王雪玉,女,西安工程大学电子信息学院,2022级研究生 研究方向:机器视觉与人工智能 电子邮件:2239580540@qq.com 王泽宇,男,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组 研究方向:机器视觉与人工智能 电子邮件:2717124491@qq.com 文字识别(OCR)可以将

    2024年02月08日
    浏览(86)
  • 安全地远程调用Docker API

    你也许知道如何在一台安装了 docker 的机器上创建、停止、删除容器。但是如果发号施令的程序和 docker 不在同一台机器上该怎么办? 本文将介绍如何开启 docker api 远程调用、使用 http api 或者 java sdk 操作另一台机器上的 docker、以及如何确保 docker api 不被他人调用。 默认 do

    2024年03月18日
    浏览(47)
  • 通过阿里云函数计算解决ChatGPT API的调用问题

    与其被ChatGPT取代,不如征服ChatGPT,做它的主人! 自2022年11月30日 OpenAI 发布 ChatGPT 以来,虽然时有唱衰的声音出现,但在OpenAI不断推陈出新,陆续发布了OpenAPI、GPT-4、ChatGPT Plugins之后,似乎让大家看到了一个聊天机器人往操作系统入口进军的升纬之路。 ChatGPT能被认为是操作

    2024年02月01日
    浏览(40)
  • 调用阿里云API接口实现电商领域命名实体识别NER

    阿里云简介 阿里云是全球领先的云计算及人工智能科技公司,成立于 2009 年,为 200 多个国家和地区的企业、开发者和政府机构提供服务。阿里云提供了一系列的云计算服务,包括服务器租赁、云数据库、云存储、人工智能等,帮助企业和个人更高效地管理和运行他们的在线

    2024年04月10日
    浏览(40)
  • java http远程调用接口下载文件

    远程调用http接口下载文件,接口返回流 一、将文件保存本地 二、将接收到流直接返回

    2024年02月14日
    浏览(48)
  • WebClient, HttpClient, OkHttp: 三个Java HTTP客户端的比较

    在Java世界中,有许多用于发送HTTP请求的库。在本文中,我们将重点介绍并比较三种流行的HTTP客户端:WebClient,HttpClient和OkHttp。我们将通过讲解它们的基本概念,使用方法和示例,以及它们的优缺点,帮助你选择最适合你的HTTP客户端。 WebClient是Spring 5中引入的非阻塞,反应

    2024年02月08日
    浏览(42)
  • 【OSS存储】阿里云的oss存储服务 & golang的API调用

    阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。 非常适合存储非结构化数据,例如 视频、图形、日志、文本文件以及各种App应用

    2024年02月05日
    浏览(57)
  • ubuntu下llama2的api远程调用

    conda activate llamachinese cd /home/cys/Llama2-Chinese/scripts/api python accelerate_server.py --model_path /media/cys/c4e58bbe-a73a-4b02-ae9e-2b310ee884fb/chinese-llama-2-13b --gpus \\\"0\\\" --infer_dtype \\\"int8\\\" --model_source \\\"llama2_chinese\\\"    运行结果:

    2024年01月17日
    浏览(35)
  • Spring 教程—REST 客户端详解(WebClient 、RestTemplate、HTTP 接口)

    Spring框架为调用REST端点提供了以下选择: WebClient - 非阻塞、响应式客户端和 fluent API。 RestTemplate - 带有模板方法API的同步客户端。 HTTP 接口 - 注解式接口,并生成动态代理实现。 WebClient  是一个非阻塞的、响应式的客户端,用于执行HTTP请求。它在5.0中引入,提供了  Re

    2024年02月07日
    浏览(43)
  • 关于阿里云的API接口调用使用说明以及使用艾格瑞特API接口获取验证码的方法

    需要在API网关控制台创建APP,然后将API授权给APP即可。 使用详情页给的请求示例!!!(替换示例中的AppCode)就可以了 本发明涉及互联网技术领域,具体涉及一种API自动管理和SDK、文档自动生成方法。 背景技术: 伴随着互联网时代的多元化发展,更多技术人员将精力投入

    2023年04月18日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包