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

网页游戏网站知乎泉州网站建设选择讯呢

网页游戏网站知乎,泉州网站建设选择讯呢,东营市建设网,东莞市研发网站建设品牌一、详解 1.1 介绍 现如今的 Web 项目#xff0c;由服务端向外发起网络请求的场景#xff0c;基本上随处可见#xff01; 传统情况下#xff0c;在服务端代码里访问 http 服务时#xff0c;一般会使用 JDK 的 HttpURLConnection 或者 Apache 的 HttpClient#xff0c;不…一、详解 1.1 介绍 现如今的 Web 项目由服务端向外发起网络请求的场景基本上随处可见 传统情况下在服务端代码里访问 http 服务时一般会使用 JDK 的 HttpURLConnection 或者 Apache 的 HttpClient不过这种方法使用起来太过繁琐而且 api 使用起来非常的复杂还得操心资源回收。 1.2 什么是 HttpUtils HttpUtils 是 Solon 提供的进行远程调用客户端HttpUtils 提供了很多远程调用的方法能够大大提高客户端的编写效率。 HttpUtils 接口实现了 HttpURLConnection 的适配默认以及 OkHttp 的适配。官网地址 solon-net-httputils 1.3 引入依赖 dependencygroupIdorg.noear/groupIdartifactIdsolon-net-httputils/artifactId /dependencyHttpUtils 不需要初始化即可直接使用。而且可以直接使用负载均衡的能力需要引入 solon-cloud 的插件提供底层支持。像这样 HttpUtils.http(user-service, /user/get?id1).get();二、接口使用 HttpUtils 最大的特色就是对各种网络请求方式做了包装能极大的简化开发人员的工作量下面我们以 GET、POST、PUT、DELETE、文件上传与下载为例分别介绍各个API的使用方式。 2.1 GET 请求 通过 HttpUtils 发送 HTTP GET 协议请求经常使用到的方法有两个 get() - StringgetAs(Type type) - T 支持泛型 在 Solon 环境下写一个单元测试用例首先创建一个 Api 接口然后编写单元测试进行服务测试。 不带参的get请求 Controller public class TestController {GetMapping(testGet)public Result testGet(){Result result new Result();result.setCode(200);result.setMsg(demo...);return result;} }Data public class Result {private String code;private String msg; }单元测试不带参的get请求 Test public void testGet(){//请求地址String url http://localhost:8080/testGet;//发起请求,直接返回对象Result result HttpUtils.http(url).getAs(Result.class);System.out.println(result.toString());带参的get请求(使用占位符号传参) Controller public class TestController {GetMapping(testGetByRestFul/{id}/{name})public Result testGetByRestFul(Path(id) String id, Path(name) String name){Result result new Result();result.setCode(200);result.setMsg(demo...);return result;} }单元测试带参的get请求顺带加了个 header 信息。 Test public void testGetByRestFul(){//请求地址String url http://localhost:8080/testGetByRestFul/001/张三;//发起请求,直接返回对象restful风格Result result HttpUtils.http(url).header(App-Id,1).getAs(Result.class);System.out.println(result.toString()); }2.2 POST 请求 其实 POST 请求方法和 GET 请求方法上大同小异HttpUtils 的 POST 请求也包含两个主要方法 post() - StringpostAs(Type type) - T支持泛型 模拟表单请求post方法测试 Controller public class TestController {PostMapping(testPostByForm)public Result testPostByForm(String userName, String userPwd){Result result new Result();result.setCode(200);result.setMsg(Demo...);return result;} }x-www-form-urlencoded post Test public void testPostByForm(){//请求地址String url http://localhost:8080/testPostByForm;//发起请求Result result HttpUtils.http(url).data(userName, 唐三藏).data(userPwd, 123456).postAs(Result.class);System.out.println(result.toString()); }form-data post顺带加上文件上传 Test public void testPostByForm(){//请求地址String url http://localhost:8080/testPostByForm;//发起请求Result result HttpUtils.http(url).data(userName, 唐三藏).data(userPwd, 123456).data(file, logo.jpg, new File(/data/logo.jpg)) .postAs(Result.class, true); //useMultipart trueSystem.out.println(result.toString()); }json-body post Test public void testPostByForm(){//请求地址String url http://localhost:8080/testPostByForm;//发起请求Result result HttpUtils.http(url).bodyOfJson({\userName\:\唐三藏\,\userPwd\:\123456\}).postAs(Result.class); System.out.println(result.toString()); }bean-body post Test public void testPostByForm(){//请求地址String url http://localhost:8080/testPostByForm;UserBean user new UserBean();user.setUserName(唐三藏);user.setUserPwd(123456)//发起请求Result result HttpUtils.http(url).bodyOfBean(user).postAs(Result.class); System.out.println(result.toString()); }2.3 PUT、PATCH、DELETE 请求 用法与 POST 完全相同。 2.4 高级用法 获取响应用完要关闭 try(HttpResponse resp HttpUtils.http(http://localhost:8080/hello).data(name,world).exec(POST)) {int code resp.code();String head resp.header(Demo-Header);String body resp.bodyAsString(); }配置序列化器。默认为 json改为 fury或者自己定义。 FuryBytesSerializer serializer new FuryBytesSerializer();Result body HttpUtils.http(http://localhost:8080/book).serializer(serializer).bodyOfBean(book).postAs(Result.class);
http://www.tj-hxxt.cn/news/131014.html

相关文章:

  • go语言 做网站做学校网站的内容
  • 怎么在网站做浮动图标网站建设小程序开发seo推广
  • 涡阳网站建设wordpress字体代码
  • 粉色帝国网站小学网站源码php
  • 网站建设直通车关键词设置163网易企业邮箱
  • 4399谁做的网站工业风 网站建设
  • 做网站哪个语言好山西省建设厅网站首页
  • 云服务器 部署网站wordpress如何配置伪静态页面
  • 2015微信网站设计学校网站建设意见
  • 成都网络优化网站无锡电子商务网站建设公司
  • 唐山网站建设费用西安软件制作公司
  • 中国全球门户网站wordpress标签页模板
  • 做网站是如何赚钱的淘宝网站建设 深圳
  • 珠海网站建设工程桂林象鼻山图片
  • 用手机做网站国外做网站
  • 北京智能网站建设系统加盟北京seo优化诊断
  • 婚恋网站排名前十名wordpress正文页面
  • 做ppt的素材网站东莞网站设计建设公司
  • 西安定制网站拼多多开网店免费提供货源
  • 织梦的网站数据还原怎么做找人做网站被骗
  • 做新的网站seowordpress积分与奖励
  • 旅游电子商务网站建设中最重要的环节和内容是什么校园网站建设平台
  • 怎么做网络推广网站做的最好的相亲网站
  • 西樵做网站wordpress修改文章默认排序
  • 做调查的网站有哪些免费设计app软件
  • 漯河做网站优化响应式布局优缺点
  • 松江专业做网站寺庙建设网站的意义
  • 免费建设外贸网站做翻译小说网站赚钱吗
  • 全国高速公路施工建设有没有网站网络seo
  • 自己做免费网站的流程wordpress交友