服务端:
http://127.0.0.1:8080/restful/user
服务端Controlle代码:
package com.test.springboot;
import java.util.HashMap;
import java.util.Map;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@RequestMapping("/restful/user")
@Controller
public class usersCon {
private static Map<String,UserInfo> map=new HashMap<String,UserInfo>();
UserInfo u=new UserInfo("11","aa","cc");
@RequestMapping(value="{id}",method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<UserInfo> queryUserById(@PathVariable("id") String id) {
// map.put("11", u);
System.out.println("get:"+map.toString());
try {
//User user = this.newUserService.queryUserById(id);
UserInfo user= map.get(id);
if (null == user) {
// 资源不存在,响应404
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
}
// 200
// return ResponseEntity.status(HttpStatus.OK).body(user);
return ResponseEntity.ok(user);
} catch (Exception e) {
e.printStackTrace();
}
// 500
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
/**
* 新增用户
*
* @param user
* @return
*/
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<Void> saveUser(UserInfo user) {
try {
System.out.println("user:"+user.toString());
map.put(user.getUserId(), user);
System.out.println("post:"+map.toString());
return ResponseEntity.status(HttpStatus.CREATED).build();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
/**
* 更新用户资源
*
* @param user
* @return
*/
@RequestMapping(method = RequestMethod.PUT)
public ResponseEntity<Void> updateUser(UserInfo user) {
try {
map.put(user.getUserId(),user);
System.out.println("put:"+map.toString());
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
} catch (Exception e) {
e.printStackTrace();
}
// 500
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
/**
* 删除用户资源
*
* @param user
* @return
*/
@RequestMapping(method = RequestMethod.DELETE)
public ResponseEntity<Void> deleteUser(@RequestParam(value = "id") String id) {
try {
System.out.println("delete:"+map.toString());
System.out.println("delete:id"+id);
if (id =="") {
// 请求参数有误
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
}
map.remove(id);
// 204
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
} catch (Exception e) {
e.printStackTrace();
}
// 500
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
做过restful穿透后,在soapUI的请求:
post请求:

get请求:

put请求:

delete请求:

最终,在post创建的userId为4的用户信息,会被put方法给更新,会被get方法查询,再最后被delete的方法给删除。
本文通过一个实例详细介绍了如何使用SoapUI工具对RESTful服务进行GET、POST、PUT和DELETE四种请求的测试。在服务端http://127.0.0.1:8080/restful/user上,创建、查询、更新和删除用户操作逐一演示,展示了完整的接口调用流程。
4706

被折叠的 条评论
为什么被折叠?



