1、在pom.xml中添加依赖包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.46</version>
</dependency>
2、创建测试类,模拟客户端请求(HttpURLconnectionTest4.java)
package com.jeff;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import com.alibaba.fastjson.JSON;
import com.jeff.entity.SysUser;
public class HttpURLconnectionTest4 {
public static void main(String[] args) {
SysUser user = new SysUser();
user.setLoginName("zs123");
user.setPassword("123456");
user.setSalt("zs123456");
user.setStatus(1);
user.setName("张三123");
user.setCreateName("Jeff");
user.setModifyName("Jeff");
try {
URL url = new URL("http://localhost:8080/add");
// 得到connection对象。
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置网络连接超时时间
connection.setConnectTimeout(3000);
// 设置请求方式
connection.setRequestMethod("POST");
// 允许写出
connection.setDoOutput(true);
// 允许读入
connection.setDoInput(true);
// 不使用缓存
connection.setUseCaches(false);
// 设置参数类型是json格式
connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
// 连接
connection.connect();
// 参数
String param = JSON.toJSONString(user);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
writer.write(param);
writer.close();
// 得到响应码
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// 得到响应流
InputStream inputStream = connection.getInputStream();
// 将响应流转换成字符串
String jsonStr = inputStreamToString(inputStream);
System.out.println(jsonStr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @description: 将输入流转换成字符串
* @author: Jeff
* @date: 2019年12月15日
* @param inputStream 输入流
* @return
*/
private static String inputStreamToString(InputStream inputStream) {
StringBuffer buffer = new StringBuffer();
InputStreamReader inputStreamReader;
try {
inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
// 释放资源
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return buffer.toString();
}
}
3、客户端的控制台输出结果
4、服务端的方法(客户端请求到此服务端方法)
/**
* @description 新增用户
* @author Jeff
* @date 2019/12/15
* @param request, response
* @return java.lang.Object
*/
@PostMapping("add")
public Object add(HttpServletRequest request, HttpServletResponse response) throws IOException {
//接收请求参数
InputStreamReader reader = new InputStreamReader(request.getInputStream());
BufferedReader buffer = new BufferedReader(reader);
String param = buffer.readLine();
SysUser user = JSON.parseObject(param, SysUser.class);
if (sysUserService.isExist(user)) {
return ResultsUtils.error(ResponseCodes.PARAMTER_ERROR, "登录名重复,请重新输入");
}
sysUserService.save(user);
return ResultsUtils.success();
}
5、服务端的控制台输出结果
版权声明:本文为weixin_45739720原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。