利用SpringBoot读取http request的基本内容
来源:互联网 发布:centos boot repair 编辑:程序博客网 时间:2024/06/04 01:23
在利用Springboot熟悉http基本内容的时候,自己弄了一个很简单的demo,将一个http请求中的内容转化成String格式打印出来。
代码如下:
其中:
1. IOUtils,用于将InputStream转化成Spring;
2. @ResponseBody注解用于返回处理结果,如果没有的话,请求页面会报不支持"GET"或者"POST"方法的错误。
3. @Controller,有Controller,这个类才会被扫描到;
4. @SpringBootApplication:在SpringBoot的启动类上,需要添加@SpringBootAapplication注解,这样才会去扫描同根目录下的其他类;
@SpringBootApplication = @Controller + @EnableAutoConfiguration + @ComponentScan
5. @RequesterMapping注解用于映射不同的uri,具体用法参考RequestMapping这个注解本身;
6. 可以用postman发送模拟请求对这部分代码进行测试。
-------------------------------------------------- 分割线 --------------------------------------------------
package helloworld.controller;import org.apache.commons.io.IOUtils;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;import java.util.Map;import java.util.Map.Entry;@Controllerpublic class RequestController { @RequestMapping("/david") @ResponseBody String david() { return "Hello, David!"; } @RequestMapping(value = "/angus/**", method = RequestMethod.GET) @ResponseBody public String getProcess(HttpServletRequest request){ String retrunValue = "Hello, Angus! This is GET request!"; System.out.println("=======GET Process======="); Map<String,String[]> requestMsg = request.getParameterMap(); Enumeration<String> requestHeader = request.getHeaderNames(); System.out.println("------- header -------"); while(requestHeader.hasMoreElements()){ String headerKey=requestHeader.nextElement().toString(); //打印所有Header值 System.out.println("headerKey="+headerKey+";value="+request.getHeader(headerKey)); } System.out.println("------- parameter -------"); for(String key :requestMsg.keySet()) { for(int i=0;i<requestMsg.get(key).length;i++) { //打印所有请求参数值 System.out.println("key="+key+";value="+requestMsg.get(key)[i].toString()); } } return retrunValue; } @RequestMapping(value = "/angus/**", method = RequestMethod.POST) @ResponseBody public String postProcess(HttpServletRequest request){ String retrunValue = "Hello, Angus! This is POST Request!"; System.out.println("=======POST Process======="); Map<String,String[]> requestMsg = request.getParameterMap(); Enumeration<String> requestHeader = request.getHeaderNames(); InputStream io = null; String body; System.out.println("------- body -------"); try{ io = request.getInputStream(); body = IOUtils.toString(io); //打印BODY内容 System.out.println("Request Body="+body); }catch(IOException e){ e.printStackTrace(); } System.out.println("------- header -------"); while(requestHeader.hasMoreElements()){ String headerKey=requestHeader.nextElement().toString(); //打印所有Header值 System.out.println("headerKey="+headerKey+";value="+request.getHeader(headerKey)); } System.out.println("------- parameters -------"); for(String key :requestMsg.keySet()) { for(int i=0;i<requestMsg.get(key).length;i++) { //打印所有请求参数值 System.out.println("key="+key+";value="+requestMsg.get(key)[i].toString()); } } return retrunValue; }}
阅读全文
0 0
- 利用SpringBoot读取http request的基本内容
- http request和response的存储内容
- 利用jxl读取Excel的内容
- http基本内容
- springboot基本使用笔记----读取文件
- 利用stl函数读取文件内容的问题
- 【第十九课】 利用流读取一个文件的内容
- 利用 HDFS 的 URL 方式读取 HDFS 内文件内容
- 利用apache的HttpClient组件得到http内容
- android利用Http协议获取网页文本内容的方法
- 利用python3的urllib.request抓取网页内容并显示中文
- python 3.X版本 利用urllib.request 通过制定的URL抓取网易内容
- 请简要描述客户端发送的http request header都包含哪些内容
- 请简要描述客户端发送的http request header都包含哪些内容
- 简要描述客户端发送的http request header都包含哪些内容
- 请简要描述客户端发送的http request header都包含哪些内容
- 请简要描述客户端发送的http request header都包含哪些内容
- 请简要描述客户端发送的http request header都包含哪些内容
- 手机端适配 rem布局
- 【Scikit-Learn 中文文档】交叉验证
- MongoDB学习笔记(索引)
- 第七篇
- 机器学习之集成学习 bagging与随机森林
- 利用SpringBoot读取http request的基本内容
- 欢迎使用CSDN-markdown编辑器
- ubuntu 16.04下安装使用opencv_3.2.0
- ES6--Set 和 Map
- centos7.2 1511 安装CGAL4-7
- 线程的抢占式和协作式详解
- 大数据学习3——分布式文件系统HDFS
- 快速上手MQ之activeMQ(2)--spring整合
- 二维数组计算