当前位置: 首页 > news >正文

苏州网站搜索优化wordpress 标签页面

苏州网站搜索优化,wordpress 标签页面,深圳罗湖商城网站建设,个人电影网站建设收益在最近发布的Spring 6.1 M2版本中#xff0c;推出了一个全新的同步HTTP客户端#xff1a;RestClient。用一句话来让Spring开发者认识RestClient的话#xff1a;像WebClient一样具备流畅API的RestTemplate。 所以#xff0c;RestClient的使命就是淘汰已经有14年历史的RestTe… 在最近发布的Spring 6.1 M2版本中推出了一个全新的同步HTTP客户端RestClient。用一句话来让Spring开发者认识RestClient的话像WebClient一样具备流畅API的RestTemplate。 所以RestClient的使命就是淘汰已经有14年历史的RestTemplate。 关于WebClient和RestTemplate之前在几种服务消费方式RestTemplate、WebClient、Feignhttps://blog.didispace.com/spring-cloud-alibaba-2/这篇文章中有详细的介绍。如果您有一定的了解那么对于RestClient一定可以快速上手。 RestClient案例 下面我们通过几个官方给出的案例一起来快速的认识一下RestClient。 HTTP请求 下面是一个最简单的GET请求返回一个字符串。从这个例子中我们可以看到API形式跟WebClient类似。不像以前用RestTemplate的时候那么麻烦。 RestClient restClient  RestClient.create();String result  restClient.get().uri(https://example.com).retrieve().body(String.class); System.out.println(result); 关于GET请求很多时候我们返回的不仅仅是String更多的时候是一些实体同时我们有时候还需要获取HTTP状态码以及头信息。这个时候我们可以使用toEntity方法来返回一个更为通用的ResponseEntity来进行后续操作比如下面这样 ResponseEntityString result  restClient.get().uri(https://example.com).retrieve().toEntity(String.class);System.out.println(Response status:   result.getStatusCode()); System.out.println(Response headers:   result.getHeaders()); System.out.println(Contents:   result.getBody()); 在业务层面为了更方便的解析业务数据。RestClient还支持对结果进行对象转换。比如下面的例子就是把HTTP请求返回的JSON数据转化为Pet对象。这样就免去了开发者手动从ResponseEntity中获取内容再进行消息转化的麻烦。 int id  ... Pet pet  restClient.get().uri(https://petclinic.example.com/pets/{id}, id).accept(APPLICATION_JSON).retrieve().body(Pet.class); 关于其他请求也是类似的比如下面的POST请求 Pet pet  ... ResponseEntityVoid response  restClient.post().uri(https://petclinic.example.com/pets/new).contentType(APPLICATION_JSON).body(pet).retrieve().toBodilessEntity(); 错误处理 默认情况下RestClient在接收到4xx和5xx状态码的时候会抛出一个RestClientException的子类。对于这个动作我们可以通过onStatus方法去重写它比如下面这样 String result  restClient.get().uri(https://example.com/this-url-does-not-exist).retrieve().onStatus(HttpStatusCode::is4xxClientError, (request, response) - {throw new MyCustomRuntimeException(response.getStatusCode(), response.getHeaders())}).body(String.class); 上面的例子是进一步做了包装并重新抛出。当然您也可以做一些业务性的其他操作。 高级处理 Exchange 直接看下面的例子 Pet result  restClient.get().uri(https://petclinic.example.com/pets/{id}, id).accept(APPLICATION_JSON).exchange((request, response) - {if (response.getStatusCode().is4xxClientError()) {throw new MyCustomRuntimeException(response.getStatusCode(), response.getHeaders());}else {Pet pet  convertResponse(response);return pet;}}); exchange方法提供了更灵活且完整的请求处理入口。在这里开发者里获取到request信息也可以操作response信息。所以如果您有复杂的处理逻辑上一节中的请求方法无法满足你需要的时候就可以通过这里的exchange方法来定制复杂的处理逻辑。 小结 相信大家对RestTemplate一定都不陌生但实际应用估计已经不是很多了更多的会使用一些其他的客户端来实现HTTP的调用。如今Spring 6.1将推出的RestClient将很好的弥补这块不足同时与WebClient互相补充。 ------ 我们创建了一个高质量的技术交流群与优秀的人在一起自己也会优秀起来赶紧点击加群享受一起成长的快乐。另外如果你最近想跳槽的话年前我花了2周时间收集了一波大厂面经节后准备跳槽的可以点击这里领取 推荐阅读 MySQL的“分库分表”思路可不能盲目应用到 ElasticsearchIntelliJ IDEA 新增 Kotlin Notebook 插件Spring Boot自带的工具类不要太好用建议收藏 ·································· 你好我是程序猿DD10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来多思考、少抱怨、勤动手就很容易实现弯道超车所以不要问我现在干什么是否来得及。如果你看好一个事情一定是坚持了才能看到希望而不是看到希望才去坚持。相信我只要坚持下来你一定比现在更好如果你还没什么方向可以先关注我这里会经常分享一些前沿资讯帮你积累弯道超车的资本。
http://www.zqtcl.cn/news/505305/

相关文章:

  • 免费网站有哪些邯郸去哪做网站改版
  • 商务网站开发的工作任务湖南专业网站建设
  • 怎样搭建免费网站什么网站做网页好
  • flash工作室网站模板天津seo培训班在哪里
  • 怎么做游戏推广网站扬中商城官网
  • html5 公众号 网站开发顺德手机网站建设
  • 上海医疗网站备案表千库网是什么
  • 陕西省西安市制作网站二次元 wordpress主题
  • 十堰网站建设weitian帮人做logo网站
  • 网站怎么做商家定位长沙网站建设长沙建设银行
  • 山西省建设厅网站查询哈尔滨网站开发电话
  • 网站建设app律师网站素材
  • 安徽 网站建设丹阳杨文军
  • 燃烧学课程网站建设怎么做网站的登录界面
  • 邹城网站定制wordpress托管套餐
  • 沧州网站优化公司logo网站免费
  • 网站制作公司知道万维科技建设银行企业网站无法打印回单
  • 个人网站做贷款广告知乎关键词搜索
  • 常熟外贸网站建设网站突然显示 建设中
  • 宜昌市住房和城乡建设官方网站泗洪网页设计
  • 计算机软件网站建设北京加盟网站建设
  • 推广网站怎么建设和维护strange wordpress主题
  • 安徽省建设厅网站打不开湘潭做网站找磐石网络一流
  • 沈阳做网站哪好网站建设后续说明
  • 给个网站最新的2021在网站的标题上怎么做图标
  • h5做网站用什么框架seo推广计划
  • 亿企搜网站建设百度网盘怎么领取免费空间
  • 天津网站排名提升如何用h5做网站
  • 外贸公司有必要建设网站吗赣州做网站哪家好
  • 功能型网站设计深圳网站优化效果