1、request的post、get、put、delete的区别和联系。
GET不会产生副作用,即资源无论请求多少次,都不会改变。
POST更新或者创建资源。
一般的数据增删改查,POST和GET均能够满足要求。
另外一个是,早期的但是Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计 。还有一个较为严重的问题是传统的Web MVC框架基本上都只支持GET和POST两种HTTP方法,而不支持PUT和DELETE方法。
2、什么是线程安全的map?Map<key,value> user = Collections.synchronizeMap(new HashMap<key,value>);
为了防止高并发定位资源导致的线程阻塞,死循环问题。
3、测试方法MockMvc的使用
源码:
@RunWith(SpringRunner.class)
@SpringBootTest//测试注解,后续学习
public class SpbootApplicationTests {
//模拟发送请求测试类
private MockMvc mockMvc;
//每一次test方法执行之前调用该方法
@Before
public void setUp()throws Exception{
//初始化mockMvcBuilder
mockMvc = MockMvcBuilders.standaloneSetup(new UserController()).build();
}
@Test
public void testUserController()throws Exception{
//创建一个请求对象,赋值空
RequestBuilder request =null;
//1.初始化一个get请求方法,
request =get("/users/");
//perform:模拟执行一次请求,
//andExpect获取结果后的断言
//content()返回的内容
mockMvc.perform(request).andExpect(status().isOk()).andExpect(content().string(equalTo("[]")));
//2\
request =post("/users/").param("id","1").param("age","20").param("name","测试大师");
mockMvc.perform(request).andExpect(content().string(equalTo("success")));
}
网友评论