POST请求-form表单
场景:表单提交,如果不用细分PUT/DELETE方法,则都可以用POST
注解:@PostMapping = @RequestMapping(method = RequestMethod.POST)
代码:
@RestController
@RequestMapping("/api/v1/pub/user")
public class UserController {
//form表单提交形式
@PostMapping("login")
public JsonData login(String name, String pwd){
System.out.println("name:"+name+" "+"pwd:"+pwd);
return JsonData.buildSuccess("");
}
}
@RestController
@RequestMapping("/api/v1/pub/user")
public class UserController {
//json格式提交
@PostMapping("login")
public JsonData login(@RequestBody User user){
//必须添加@RequestBody 否则前端传回来的json数据后端接收为null
System.out.println(user.toString());
return JsonData.buildSuccess("");
}
}
效果截图:
form表单提交:
Json提交:(注意:两边参数名必须相同 例如此处的username 、pwd)
完整:
代码:
UserMapper:
/**
* @Repository的作用:
* 这是因为该注解的作用不只是将类识别为Bean,
* 同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。
* Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,
* 用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。
* ————————————————
*/
@Repository
public class UserMapper {
private static Map<String, User> userMap=new HashMap<>();
static {
userMap.put("jack",new User(1,"jack","123"));
userMap.put("tom",new User(2,"tom","123"));
userMap.put("ys",new User(3,"ys","123"));
}
public User login(String username,String pwd){
User user=userMap.get(username);
if (user==null){
return null;
}
if (user.getPwd().equals(pwd)){
return user;
}
return null;
}
}
UserServiceImpl:
@Service
public class UserServiceImpl implements UserService {
private static Map<String,User> sessionmap=new HashMap<>();
@Autowired
private UserMapper userMapper;
@Override
public String userlogin(String username, String pwd) {
User user=userMapper.login(username,pwd);
if (user==null){
return null;
}else{
String token= UUID.randomUUID().toString();
sessionmap.put(token,user);
return token;
}
}
}
UserService:
public interface UserService {
String userlogin(String username,String pwd);
}
UserController:
@RestController
@RequestMapping("/api/v1/pub/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("login")
public JsonData login(@RequestBody User user){
String token=userService.userlogin(user.getUsername(),user.getPwd());
if (token==null){
return JsonData.buildError("账号密码错误");
}else {
return JsonData.buildSuccess(token);
}
}
}
___________________________________________________________________________________________________________自学习