java query接口_自动化接口测试 - 极简方式使用

4bfc0fbb599e10628d7bcaa3d8f8f4cc.png

本人推荐使用idea编译器,不建议使用eclipse

以下2种依赖,自行选择一种

1、使用gradle添加依赖

【注:】需要在build.gradle添加jcenter()仓库

 compile 'com.circlq:http-api:1.2.0'

2、使用pom文件添加依赖

 com.circlq http-api 1.2.0

使用pom依赖会有java版本问题,这边截图两张自己看下

3edf64a8abfe3924a7c4a548dbc78544.png
3fe305bc87671324c955d31b35d4957a.png

下面开始如何实现

只需要简单的2步骤就能实现请求。

定义接口

//@DealAll@DealClass(HttpDealMethodImpl.class)@NetServiceClass("")public interface NetService { /** * get的简单请求 */ @GET("http://api.sdwhcn.com:5056/v1/temple") String get(@Query("page")int page ,@Query("limit")int limit ,@Query("recommend")String recommend); /** * get请求(URL中带有参数) */ @GET("http://api.sdwhcn.com:5056/{version}/temple") String get(@Path("version") String version, @Query("page")int page ,@Query("limit")int limit ,@Query("recommend")String recommend); /** * 表单提交 */ @POST("http://a.szy.com:4480/SignManageServer/sign/appHandle") String postForm(@Field("reqcode") String reqcode); /** * json提交 */ @POST("http://public.api.fashionworldcn.com/api/my/login") String postJson(@Param("mobile") String mobile, @Param("password") String password); /** * json 整串提交 */ @POST("http://public.api.fashionworldcn.com/api/my/login") String postJson(@Body String json); /** * json 实体类提交 */ @POST("http://public.api.fashionworldcn.com/api/my/login") String postJson(@Body LoginBuild json); /** * put 提交 */ @PUT("http://api.sdwhcn.com:5056/v1/member") String put(@Header("Authorization") String header, @Query("nickname") String nickname,@Query("signature") String signature,@Query("area") String area); /** * delete 提交 */ @DELETE("http://api.sdwhcn.com:5056/v1/member_collect_article/{id}") String delete(@Header("Authorization") String header, @Path("id") String id); /** * 文件下载 * 【注意】 文件下载的传参比较特殊,@Param 的key是按照服务端的字段来填写的, * 而文件下载不需要,所以@Param 的keykey是固定的, * filepath 代表文件路径,必填 * filename 代表文件名称,如果下载没带后缀,可自行加上后缀。 */ @DOWNLOAD("https://ztjyupdate.ztjy61.com/333897c77ec9a86605006679c7a4b418-ZTJY") void download(@Param("filepath") String filepath, @Param("filename") String filename, ProgressCallBack callBack); /** * 单张图片上传 *【注意】 @Param 的key 跟文件下载一样是固定写法 * @param filepath 代表文件路径,必填 * @param filekey 代表文件key,必填 * @param filename 代表文件名称 选填 */ @UPLOAD("http://api.sdwhcn.com:5056/v1/member/avatar") @Headers("Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjY4MDFmZjE1NTdlNWJhMzkzY2RlM2U0NjRiMGM0MzQ3MDkwNWYzMDYwZTZhZDFkOTQ4NTIyY2I3NDI2YjY0ZDFmODBiOWJkODY0YmEyM2UxIn0.eyJhdWQiOiIyIiwianRpIjoiNjgwMWZmMTU1N2U1YmEzOTNjZGUzZTQ2NGIwYzQzNDcwOTA1ZjMwNjBlNmFkMWQ5NDg1MjJjYjc0MjZiNjRkMWY4MGI5YmQ4NjRiYTIzZTEiLCJpYXQiOjE1NjEzNjI2ODcsIm5iZiI6MTU2MTM2MjY4NywiZXhwIjoxNTYxNDQ5MDg3LCJzdWIiOiIxIiwic2NvcGVzIjpbIioiXX0.RXUUxeLvYkkk1V-pmu-120N5JejjaDmTfG0zO0Zu3lMc5OChjlSvDiKm2jW6geCIp2gZeOrkC4HBNpSngjKue_v1l1UyyYudOofTZV3DUlF-hwhhwMJ2RKxp6yq2ecGfxCcg3ZED1dp0dAjmqmNCGUZViykQctSQC7FI3KXQeL-96wQj6G9YnN0n2sVOkeH2m1AYR2YjkXFW3C-lMujiqbfoH0i_DyRWqmvnH4IS67L8Ec0dWBNgWbDWyrO6Za6z9Im6VHfeqVkVYbvFdKrN8mtNuQQ0oioG_6vvuLE9zV-p2YT1t_WogqieFJHb9C6t9QZCqDopU7QBKiczoSk72tMffL0j_Byn1TlG7TlN0nvtnBB1kScz6tI6SvlkwgPOvHneBX-CHiDHPAlS_GOsnh1j5hVn1eRMbPS728sQpsTlVJ4WOpDP9AO1u4JG2ViU-4gohtpN5Lkc7FFbz30MSpi3aQQxXRjHslA--4Hbc-fqD1TjqgUyNfF4xK_paSUgihHwygIqNUeI6MuCltKKJCUR4eeNXItXPl9_GxSsWPYpetIw-0yFHwdrTWvr4fmy-gdteNrAtOv6DwDvGsgw52vnqoX8Sev_yWg9FBGKnFcRLIyMfkw9_7UQEn0-P9v0kqLxf63xk3QnGtdlhZNLA8l3OapCpHkYeZgcEX9UQFU") void upload(@Param("filepath") String filepath, @Param("filekey") String filekey , @Param("filename") String filename, ProgressCallBack callBack); /** * 多图上传 * 【注意】 @Param 的key 跟文件下载一样是固定写法 * @param filepath 代表文件路径,必填 * @param filekey 代表文件key,必填 * @param filename 代表文件名称 选填 * @param callBack */ @UPLOAD("http://api.sdwhcn.com:5056/v1/member/avatar") @Headers("Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjY4MDFmZjE1NTdlNWJhMzkzY2RlM2U0NjRiMGM0MzQ3MDkwNWYzMDYwZTZhZDFkOTQ4NTIyY2I3NDI2YjY0ZDFmODBiOWJkODY0YmEyM2UxIn0.eyJhdWQiOiIyIiwianRpIjoiNjgwMWZmMTU1N2U1YmEzOTNjZGUzZTQ2NGIwYzQzNDcwOTA1ZjMwNjBlNmFkMWQ5NDg1MjJjYjc0MjZiNjRkMWY4MGI5YmQ4NjRiYTIzZTEiLCJpYXQiOjE1NjEzNjI2ODcsIm5iZiI6MTU2MTM2MjY4NywiZXhwIjoxNTYxNDQ5MDg3LCJzdWIiOiIxIiwic2NvcGVzIjpbIioiXX0.RXUUxeLvYkkk1V-pmu-120N5JejjaDmTfG0zO0Zu3lMc5OChjlSvDiKm2jW6geCIp2gZeOrkC4HBNpSngjKue_v1l1UyyYudOofTZV3DUlF-hwhhwMJ2RKxp6yq2ecGfxCcg3ZED1dp0dAjmqmNCGUZViykQctSQC7FI3KXQeL-96wQj6G9YnN0n2sVOkeH2m1AYR2YjkXFW3C-lMujiqbfoH0i_DyRWqmvnH4IS67L8Ec0dWBNgWbDWyrO6Za6z9Im6VHfeqVkVYbvFdKrN8mtNuQQ0oioG_6vvuLE9zV-p2YT1t_WogqieFJHb9C6t9QZCqDopU7QBKiczoSk72tMffL0j_Byn1TlG7TlN0nvtnBB1kScz6tI6SvlkwgPOvHneBX-CHiDHPAlS_GOsnh1j5hVn1eRMbPS728sQpsTlVJ4WOpDP9AO1u4JG2ViU-4gohtpN5Lkc7FFbz30MSpi3aQQxXRjHslA--4Hbc-fqD1TjqgUyNfF4xK_paSUgihHwygIqNUeI6MuCltKKJCUR4eeNXItXPl9_GxSsWPYpetIw-0yFHwdrTWvr4fmy-gdteNrAtOv6DwDvGsgw52vnqoX8Sev_yWg9FBGKnFcRLIyMfkw9_7UQEn0-P9v0kqLxf63xk3QnGtdlhZNLA8l3OapCpHkYeZgcEX9UQFU") void upload(@Param("filepath") String[] filepath, @Param("filekey") String[] filekey , @Param("filename") String[] filename, ProgressCallBack callBack); /** * 请求跟返回经过统一特殊处理。 */ @POST("http://a.szy.com:4480/SignManageServer/sign/appHandle") @Deal String onDeal(@Field("reqcode")String reqcode,@Param("pageNo") String pageNo, @Param("pageSize") String pageSize, @Param("schoolId") String schoolId);}}

执行请求,返回类型支持java实体类,只需要在方法返回类型String换成java实体类,它会自动给你转化成实体类。

/**

* 表单提交

*/

public static void postForm() {

String result = HttpRequest.getNetService().postForm("10960");

log.info("postForm :" + result);

}

/**

* json提交

*/

public static void postJson() {

String mobile = "15060568265";

String password = "e10adc3949ba59abbe56e057f20f883e";

String result = HttpRequest.getNetService().postJson(mobile, password);

log.info("postJson :" + result);

}

强大的Json解析器

我们可以看到返回类型支持java实体类跟String类型,但是这边建议使用String类型然后解析的时候使用JsonUtils类,这是一个强大解析器直接 int forum_id = JsonUtils.parse(json,Integer.class,"notice
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值