直接上代码: package com.hello.user.controller; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.context.WebApplicationContext; @SpringBootTest(classes = HelloController.class) class HelloControllerTest { @Autowired private WebApplicationContext webApplicationContext; private MockMvc mockMvc; private HttpHeaders httpHeaders; @Autowired private HelloController helloController; @BeforeEach public void init() { mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>(); multiValueMap.add("name ", "nameHHH"); httpHeaders = new HttpHeaders(); httpHeaders.addAll(multiValueMap); } @Test void hello() { try { MvcResult mvcResult = (MvcResult) mockMvc.perform(MockMvcRequestBuilders.post("/hello/test") .headers(httpHeaders) .content("{\"id\":100}") .contentType(MediaType.APPLICATION_JSON)) .andReturn(); } catch (Exception e) { throw new RuntimeException(e); } // assert helloController.hello(null) == null; } }
package com.hello.user.controller; import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; @RestController @RequestMapping("/hello") public class HelloController { @Value("${spring.application.name}") private String applicationName; @PostMapping("/test") public String hello(HttpServletRequest httpServletRequest, @RequestBody DataReq dataReq){ if(null==httpServletRequest){ System.out.println("req is null"); return "null"; } System.out.println("name:"+httpServletRequest.getHeader("name")); System.out.println("id:" + dataReq.getId()); System.out.println(String.format("hello [%s] microservice console,time:[%s]",applicationName,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))); return String.format("hello [%s] microservice page,time:[%s],hello test",applicationName,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); } @Data public class DataReq{ private Long id; } }