package com.mr.controller;
import org.apache.commons.beanutils.BeanMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.*;
/**
* @author Egan
* @date 2019/4/22 18:29
**/
public class BaseControllerTest {
protected static Logger logger = LoggerFactory.getLogger("Unit-Test");
private static String host;
private static String token;
public BaseControllerTest(String host, String token) {
BaseControllerTest.host = host;
BaseControllerTest.token = token;
}
@Autowired
protected RestTemplate restTemplate;
/**
* 普通请求头,适用于url参数
**/
protected HttpHeaders getHeader() {
HttpHeaders headers = new HttpHeaders();
headers.set("token", token);
return headers;
}
/**
* json请求头,适用于json参数
**/
protected HttpHeaders getJsonHeader() {
HttpHeaders headers = getHeader();
headers.set("content-type", "application/json;charset=UTF-8");
return headers;
}
/**
* xml请求头
**/
protected HttpHeaders getXmlHeader() {
HttpHeaders headers = getHeader();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));
return headers;
}
/**
* 适用于上传文件
**/
protected HttpHeaders getFileHeader() {
HttpHeaders headers = getHeader();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
return headers;
}
/**
* http请求测试(传入参数自动拼接url)
*
* @param url 不含协议、主机名和端口号的部分url
* @param method http方法
* @param params 请求参数
* @date 2019/4/22 20:07
**/
protected void requestAuto(String url, HttpMethod method, Object params) {
HttpEntity<String> requestEntity = new HttpEntity<>(getHeader());
Map map = new BeanMap(params);
url = host + url;
Set keys = map.keySet();
if (keys.size() > 0) {
Iterator iter = keys.iterator();
StringBuilder urlBuilder = new StringBuilder(url);
Object key = iter.next();
urlBuilder.append("?").append(key).append("=").append(map.get(key));
while (iter.hasNext()) {
key = iter.next();
urlBuilder.append("&")
.append(key)
.append("=")
.append(map.get(key));
}
url = urlBuilder.toString();
}
ResponseEntity<String> responseEntity = restTemplate.exchange(
url, method, requestEntity, String.class);
print(url, requestEntity, responseEntity);
}
/**
* http请求测试(手动拼接url)
*
* @param url 不含协议、主机名和端口号的部分url
* @param method http方法
* @param params 请求参数
* @date 2019/4/22 20:07
**/
protected void requestManual(String url, HttpMethod method, Object... params) {
HttpEntity<String> requestEntity = new HttpEntity<>(getHeader());
url = host + url;
ResponseEntity<String> responseEntity = restTemplate.exchange(
url, method, new HttpEntity<>(getHeader()), String.class, params);
print(url, requestEntity, responseEntity);
}
/**
* 上传文件专用
**/
protected void requestFile(String url, HttpMethod method, HttpEntity<MultiValueMap<String, Object>> requestEntity) {
ResponseEntity<String> responseEntity = restTemplate.exchange(
host + url
, method, requestEntity, String.class);
print(url, requestEntity, responseEntity);
}
private void print(String url, HttpEntity requestEntity, ResponseEntity responseEntity) {
logger.info("request-url:" + url);
logger.info("request-header:" + requestEntity.getHeaders());
logger.info("request-body:" + requestEntity.getBody());
logger.info("response-status-code:" + responseEntity.getStatusCode());
logger.info("response-header:" + responseEntity.getHeaders());
logger.info("response-body:" + responseEntity.getBody());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于SpringBoot+Spark+Hadoop的电影评分网站源码+详细文档+全部数据资料 高分项目.zip
共57个文件
java:38个
scala:12个
xml:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
1 下载量 144 浏览量
2024-05-08
17:15:08
上传
评论
收藏 48KB ZIP 举报
温馨提示
【资源说明】 基于SpringBoot+Spark+Hadoop的电影评分网站源码+详细文档+全部数据资料 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot+Spark+Hadoop的电影评分网站源码+详细文档+全部数据资料 高分项目.zip (57个子文件)
171265889347208773632.zip 416B
Movie-Ratings-master
pom.xml 5KB
web
pom.xml 5KB
src
main
resources
application-dev.yml 1KB
application.yml 724B
java
com
mr
web
Application.java 878B
controller
RatingController.java 551B
UserController.java 787B
TagController.java 619B
StreamController.java 980B
StatisticsController.java 2KB
MovieController.java 2KB
auth
AuthRealm.java 2KB
config
ShiroConfig.java 4KB
scala
StreamAction.scala 2KB
UsersAction.scala 675B
TagsAction.scala 714B
WriteFile.scala 395B
MoviesAction.scala 1KB
SQLAction.scala 3KB
HelloWorld.scala 4KB
stream
StreamAction.scala 2KB
WriteFile.scala 399B
StreamingFile.scala 914B
RatingsAction.scala 931B
StreamingFile.scala 927B
common
pom.xml 3KB
src
main
java
com
mr
controller
BaseControllerTest.java 4KB
BaseController.java 429B
utils
IPUtils.java 2KB
RegexpUtils.java 313B
HashUtils.java 1KB
RedisUtil.java 2KB
RedisKey.java 231B
GsonUtils.java 450B
RedisLockUtils.java 2KB
PageUtils.java 1KB
DateUtils.java 2KB
R.java 1KB
Query.java 884B
entity
User.java 815B
exception
RRException.java 890B
validator
group
AddGroup.java 115B
Group.java 204B
UpdateGroup.java 118B
ValidatorUtils.java 1KB
Assert.java 959B
auth
AuthToken.java 506B
AuthFilter.java 3KB
config
TransactionConfig.java 4KB
ExceptionHandlerConfig.java 3KB
WebConfig.java 2KB
RedisConfig.java 3KB
MybatisConfig.java 465B
AuthConfig.java 686B
FilterConfig.java 1015B
.gitignore 1KB
共 57 条
- 1
资源评论
不走小道
- 粉丝: 3339
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功