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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_45739720/article/details/103555328