🎇spring中提供的一种发请求的方式🎇
🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇
♥🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇
♥🎇🎇🎇🎇🎇zt🌷🎇🎇🎇🎇🎇🎇
🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇
🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇
package com.pengke.resttemplate03.controller;import com.pengke.resttemplate03.entrty.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;@RestController
public class MyController {@GetMapping("/get")public String get(String name){return name;}/*** json参数请求头: header: content-type=application/json;charset=utf-8* @param user* @return*/@PostMapping("/post")public String post(@RequestBody User user){return user.toString();}/*** 接收表单参数* 请求头:header: content-type=application/x-www-from-undercode* @param user* @return*/@PostMapping("/form")public String form(User user){return user.toString();}
}
user.java
这里我使用了lombok,可自行安装该依赖
package com.pengke.resttemplate03.entrty;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private String name;//姓名private String sex;//性别private Integer age;//年龄
}
RestTemplate restTemplate=new RestTemplate();
它有多个方法,例如:
restTemplate.getForObject()restTemplate.postForObject()restTemplate.getForEntity()restTemplate.postForEntity()
显而易见主要分为
get和post
Object和Entity的区别:
object返回值为接口返回值Entity返回值为请求头,请求参数,响应头,响应状态码等等
/*** Get请求*/@Testvoid testGet() {//在java代码中发送一个请求 请求一个页面RestTemplate restTemplate=new RestTemplate();String url="http://localhost:8080/get?name=碰磕";String result1=restTemplate.getForObject(url,String.class);//请求头,请求参数,响应头,响应状态码ResponseEntity result2=restTemplate.getForEntity(url,String.class);System.out.println(result1);System.out.println(result2);}
/*** post请求*/@Testvoid testPost() {//在java代码中发送一个请求 请求一个页面RestTemplate restTemplate=new RestTemplate();String url="http://localhost:8080/post";User user=new User("碰磕","男",20);/*** ForObject(请求路径,传参,返回值)*/String result1=restTemplate.postForObject(url,user,String.class);System.out.println(result1);}
/*** 表单请求*/@Testvoid testForm() {//在java代码中发送一个请求 请求一个页面RestTemplate restTemplate=new RestTemplate();String url="http://localhost:8080/form";LinkedMultiValueMap map =new LinkedMultiValueMap<>();map.add("name","碰磕");map.add("sex","男");map.add("age",40);/*** ForObject(请求路径,传参,返回值)*/String result1=restTemplate.postForObject(url,map,String.class);System.out.println(result1);}
代码在上方,区别显而易见🙃
看到这里你就会在Java中发请求了✌
上一篇:回溯法作业(Python版)
下一篇:数学基本算法