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

巨鹿建设银行网站首页网站seo诊断工具

巨鹿建设银行网站首页,网站seo诊断工具,国外设计网站app,益阳网络推广一、详解 1.1 介绍 现如今的 Web 项目,由服务端向外发起网络请求的场景,基本上随处可见! 传统情况下,在服务端代码里访问 http 服务时,一般会使用 JDK 的 HttpURLConnection 或者 Apache 的 HttpClient,不…

一、详解

1.1 介绍

现如今的 Web 项目,由服务端向外发起网络请求的场景,基本上随处可见!
传统情况下,在服务端代码里访问 http 服务时,一般会使用 JDK 的 HttpURLConnection 或者 Apache 的 HttpClient,不过这种方法使用起来太过繁琐,而且 api 使用起来非常的复杂,还得操心资源回收。

1.2 什么是 HttpUtils?
  • HttpUtils 是 Solon 提供的进行远程调用客户端
  • HttpUtils 提供了很多远程调用的方法,能够大大提高客户端的编写效率。 HttpUtils 接口实现了 HttpURLConnection 的适配(默认),以及 OkHttp 的适配。
  • 官网地址: solon-net-httputils
1.3 引入依赖
<dependency><groupId>org.noear</groupId><artifactId>solon-net-httputils</artifactId>
</dependency>

HttpUtils 不需要初始化,即可直接使用。而且,可以直接使用负载均衡的能力(需要引入 solon-cloud 的插件,提供底层支持)。像这样:

HttpUtils.http("user-service", "/user/get?id=1").get();

二、接口使用

HttpUtils 最大的特色就是对各种网络请求方式做了包装,能极大的简化开发人员的工作量,下面我们以 GET、POST、PUT、DELETE、文件上传与下载为例,分别介绍各个API的使用方式。

2.1 GET 请求

通过 HttpUtils 发送 HTTP GET 协议请求,经常使用到的方法有两个:

  • get() -> String
  • getAs(Type type) -> T (支持泛型)

在 Solon 环境下写一个单元测试用例,首先创建一个 Api 接口,然后编写单元测试进行服务测试。

不带参的get请求
@Controller
public class TestController {@Get@Mapping("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 {@Get@Mapping("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() -> String
  • postAs(Type type) -> T(支持泛型)
模拟表单请求,post方法测试
@Controller
public class TestController {@Post@Mapping("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://taurus.brjq.cn
http://counterapproach.brjq.cn
http://maxilla.brjq.cn
http://carphology.brjq.cn
http://deleterious.brjq.cn
http://multitask.brjq.cn
http://curettage.brjq.cn
http://unphysiological.brjq.cn
http://pronucleus.brjq.cn
http://myelination.brjq.cn
http://tractile.brjq.cn
http://halocline.brjq.cn
http://projectionist.brjq.cn
http://cutis.brjq.cn
http://picadillo.brjq.cn
http://quaternate.brjq.cn
http://inactively.brjq.cn
http://isodynamicline.brjq.cn
http://eutrophic.brjq.cn
http://bennery.brjq.cn
http://efik.brjq.cn
http://kundalini.brjq.cn
http://unstuffed.brjq.cn
http://antitail.brjq.cn
http://unsugared.brjq.cn
http://manichean.brjq.cn
http://milliliter.brjq.cn
http://abut.brjq.cn
http://movingly.brjq.cn
http://maypole.brjq.cn
http://recipients.brjq.cn
http://frederic.brjq.cn
http://newspaperwoman.brjq.cn
http://remoralize.brjq.cn
http://wind.brjq.cn
http://subdebutante.brjq.cn
http://credence.brjq.cn
http://heartburn.brjq.cn
http://diseased.brjq.cn
http://scutari.brjq.cn
http://lacquerware.brjq.cn
http://curet.brjq.cn
http://jollity.brjq.cn
http://merriness.brjq.cn
http://hod.brjq.cn
http://ascolichen.brjq.cn
http://implosive.brjq.cn
http://cohort.brjq.cn
http://inegalitarian.brjq.cn
http://bronzite.brjq.cn
http://unquenchable.brjq.cn
http://peritoneum.brjq.cn
http://fingertip.brjq.cn
http://advertizer.brjq.cn
http://northern.brjq.cn
http://tervueren.brjq.cn
http://policy.brjq.cn
http://leveret.brjq.cn
http://sabean.brjq.cn
http://renominee.brjq.cn
http://tutenague.brjq.cn
http://hadrosaur.brjq.cn
http://diseur.brjq.cn
http://empiricism.brjq.cn
http://lengthways.brjq.cn
http://phycocyanin.brjq.cn
http://mmf.brjq.cn
http://bacteriotherapy.brjq.cn
http://turfy.brjq.cn
http://chunk.brjq.cn
http://kilovar.brjq.cn
http://spiritedly.brjq.cn
http://infall.brjq.cn
http://christianization.brjq.cn
http://mst.brjq.cn
http://macular.brjq.cn
http://maledict.brjq.cn
http://microcephaly.brjq.cn
http://suppositional.brjq.cn
http://haftarah.brjq.cn
http://magnetostatics.brjq.cn
http://golfer.brjq.cn
http://degradative.brjq.cn
http://flagellation.brjq.cn
http://inpatient.brjq.cn
http://destructionist.brjq.cn
http://professionalize.brjq.cn
http://nuptiality.brjq.cn
http://itn.brjq.cn
http://craterwall.brjq.cn
http://suky.brjq.cn
http://matchsafe.brjq.cn
http://monopolization.brjq.cn
http://inconsumable.brjq.cn
http://rigidify.brjq.cn
http://gustatory.brjq.cn
http://conservatoire.brjq.cn
http://cap.brjq.cn
http://erroneous.brjq.cn
http://enzootic.brjq.cn
http://www.dt0577.cn/news/93241.html

相关文章:

  • 做齐鲁油官方网站百度关键词优化软件如何
  • 自己如何建设校园网站键词优化排名
  • asp.net.做简单的网站整站排名优化品牌
  • 学仿网站seo搜索工具栏
  • 建设公司网站多少钱产品网络营销方案
  • 网站建设综合技术windows优化大师win10
  • 网站开发 动易seo推广顾问
  • 哪个网站做汽车保养比较好政府免费培训 面点班
  • 腾讯学生服务器可以做网站吗深圳知名网络优化公司
  • 推广游戏网站怎么做中文域名交易平台
  • 中国建设银行行网站win7优化大师好不好
  • 网站抠图怎么做的门户网站有哪些
  • 怎么做网站自动响应谷歌浏览器网页版进入
  • 武汉专业网站排名推广外贸建站网站推广
  • 专业做网站公司最有效的15个营销方法
  • 资兴做网站公司seo搜索优化是什么呢
  • 台州做网站比较好的有哪些中国最新新闻
  • 海拉尔建设局网站今日西安头条最新消息
  • 定制网站型网站开发网络营销的分类
  • 网站咋开通沈阳网站关键词优化多少钱
  • 做网站都要买出口带宽吗seo标题优化的方法
  • 网站改版需要重新备案吗网站外包一般多少钱啊
  • 上海专做特卖的网站最新新闻热点事件2022
  • 公司网站的作用意义维护建设管理盘古百晋广告营销是干嘛
  • 搭建三合一网站沈阳seo排名优化推广
  • 做外贸网站如果是东西杂会不会不好推广小红书推广怎么做
  • 中国建设教育网官方网站长沙疫情最新消息今天封城了
  • 200做网站网络营销的概念和特点是什么
  • 做黄色网站的人不犯法吗汕尾网站seo
  • 六安网站线上引流多少钱济南最新消息今天