一文带你搞懂Java中Get和Post的使用
作者:代码的路 发布时间:2023-04-16 23:57:24
标签:Java,Get,Post
1 Get请求数据
项目地址:https://github.com/Snowstorm0/learn-get-post
1.1 Controller
文件名MyController,内容为:
@RestController
@RequestMapping("/homepage")
publicclass MyController {
@Autowired
MyService myService;
@GetMapping("/learnGet")
public String learnGet(){
return myService.learnGet();
}
}
1.2 Service
文件名MyService,内容为:
@Service
@EnableScheduling
publicclass MyService {
public String learnGet(){
Long timeLong = System.currentTimeMillis();
SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置格式
String timeString = timeFormat.format(timeLong);
return timeString;
}
}
1.3 Application
在application.properties配置:
# 设置端口号
server.port=8888
1.4 Postman
配置Get,地址为:http://localhost:8888/homepage/returnTime 。
即可获得当前时间戳。
2 Post接收数据
项目地址:https://github.com/Snowstorm0/learn-get-post
2.1 Controller
文件名MyController,内容为:
@RestController
@RequestMapping("/homepage")
publicclass MyController {
@Autowired
MyService myService;
@PostMapping("/postReceive")
public Map<String, Object> postReceive(@RequestParam("number") int number, @RequestParam("name") String name) {
return myService.postReceive(number, name);
}
@PostMapping("/postReceiveByMap")
public Map<String, Object> postReceiveByMap(@RequestParam Map<String, Object> map) {
System.out.println("map:" + map + "\n");
return myService.postReceiveByMap(map);
}
}
2.2 Service
文件名MyService,内容为:
@Service
@EnableScheduling
publicclass MyService {
public Map<String, Object> postReceive(int number, String name){
Map<String, Object> res = new HashMap<>();
res.put("number", number);
res.put("name", name);
return res;
}
public Map<String, Object> postReceiveByMap(Map<String, Object> map){
int number = map.get("number") == null ? 0 : Integer.parseInt((String) map.get("number"));
String name = map.get("name") == null ? "" : (String)map.get("name");
Map<String, Object> res = new HashMap<>();
res.put("number", number);
res.put("name", name);
System.out.println("map:" + map + "\n");
System.out.println("res:" + res + "\n");
return res;
}
2.3 Application
在application.properties配置:
# 设置端口号
server.port=8888
2.4 Postman
配置Get,地址为:http://localhost:8888/homepage/returnTime 。
即可获得输出。
3 Post发送数据
项目地址:https://github.com/Snowstorm0/learn-post-send
需要注意,RestTemplate在postForObject时,用MultiValueMap,不可使用HashMap。
3.1 Controller
文件名MyController,内容为:
@RestController
@RequestMapping("/homepage")
publicclass MyController {
@Autowired
MyService myService;
@PostMapping("/postSend")
public Map<String, Object> postSend() {
return myService.postSend();
}
}
3.2 Service
文件名MyService,内容为:
@Service
@EnableScheduling
publicclass MyService {
@Resource
private RestTemplate restTemplate;
String URL = "http://localhost:8888/homepage/postReceiveByMap";
public Map<String, Object> postSend(){
Map<String, Object> sendData = new HashMap<>();
sendData.put("number", 3);
sendData.put("name", "张三");
ResponseEntity<ResponseResult> responseData = restTemplate.postForEntity(URL, sendData, ResponseResult.class);
Map<String, Object> returnData = new HashMap<>();
returnData.put("StatusCode:", responseData.getStatusCode());
returnData.put("Body:", responseData.getBody());
return returnData;
}
}
3.3 ResponseResult
publicclass ResponseResult {
privateint number;
private String name;
public ResponseResult(){
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return"ResponseResult [number=" + number + ",name=" + name + "]";
}
}
3.4 Config
@Configuration
publicclass Config {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder){
return builder.build();
}
}
3.5 Application
在application.properties配置:
# 设置端口号
server.port=8889
3.6 Postman
配置Post,地址为: http://localhost:8889/homepage/postSend
即可获得输出。
来源:https://mp.weixin.qq.com/s/mC0D1nuCqIori5bWtLorWQ


猜你喜欢
- 由于一个项目的需要,我研究了一下android的网络通信方式,大体和java平台的很相似! android平台也提供了很多的AP
- 需求:用户和账户一对一关系,查询账户时实现用户的延迟加载思路:根据id查询,需要延迟加载的一方1、用户实体类package com.yl.b
- fastjson转换对象实体@JsonProperty不生效项目场景请求第三方应用 返回json数据问题描述第三方返回的数据中,存在java
- 前言作为一个写java的使用最多的轻量级框架莫过于spring,不管是老项目用到的springmvc,还是现在流行的springboot,都
- 一、 JPA概述JPA的全称是Java Persistence API, 即Java 持久化API,是SUN公司推出的一套基于ORM的规范,
- 调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦。以下介绍下IDEA使用条件【Condition】断点的方法1、编写一段样
- 以上是集成测试后的Jprofiler演示效果图今晚想在IDEA中集成一下JProfiler11(现在有12版本了)工具,去网上看了下都是老版
- C#用户定义类型转换•用于自定义类和结构能够进行隐式转换和显示转换.例如:将一个自定义类类型转换成整型,浮点型等,反之亦然.C#提供隐式转换
- 一、示例搭建步骤先给出本文示例代码:WpfWithCefSharpDemo。1. 创建项目创建一个WPF项目,比如命名为&ldquo
- 微信跳一跳辅助的Java具体实现代码,供大家参考,具体内容如下1.参考知乎教你用Python来玩微信跳一跳,鉴于本人Python一直都是半吊
- 上一篇文章中主要讲了GridView的简单应用,以网格的形式展示了一些图片,对于图片也有点击监听操作。但是,如果我们在浏览图片的时候需要一些
- Android 中View.onDraw(Canvas canvas)的使用方法View通过View.onDraw(Canvas canva
- 以前只知道控件的onTouchEvent()事件,它的动作有MotionEvent.ACTION_DOWN、MotionEvent.ACTI
- 详解HDFS多文件Join操作的实例最近在做HDFS文件处理之时,遇到了多文件Join操作,其中包括:All Join以及常用的Left J
- 对数组使用 foreachC#提供 foreach 语句。 该语句提供一种简单、明了的方法来循环访问数组或任何可枚举集合的元素。 forea
- 本文实例讲述了Android编程实现将压缩数据库文件拷贝到安装目录的方法。分享给大家供大家参考,具体如下:public void copyZ
- layout布局<RelativeLayout xmlns:android="http://schemas.android.
- HashMap 在不同的 JDK 版本下的实现是不同的,在 JDK 1.7 时,HashMap 底层是通过数组 + 链表实现的;而在 JDK
- C# 从枚举值获取对应的文本描述详解有时枚举值在显示时,需要显示枚举值对应的文本串。一种方案是在调用的地方使用switch或者if来判断枚举
- 一、对象的创建1.1 new 类名虚拟机遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引