SpringBoot2.X开发HTTP接口POST请求

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);
        }

    }
}

___________________________________________________________________________________________________________自学习

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值