⛪ 专栏地址 系列教程更新中 🚀 专栏介绍: 本专栏为SpringBoot+Spring+Mybatis的系列零基础教程,从框架的基础知识讲起,从0开始实现一个在线教育实战项目
@RestController
public class UserController {
@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody User user) {
// 处理创建用户的逻辑
return ResponseEntity.ok(user);
}
}
RestTemplate restTemplate = new RestTemplate();
User user = new User("John", "Doe");
ResponseEntity<User> response = restTemplate.postForEntity("http://localhost:8080/users", user, User.class);
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
User user = new User("John", "Doe");
HttpEntity<User> request = new HttpEntity<>(user, headers);
ResponseEntity<User> response = restTemplate.exchange("http://localhost:8080/users", HttpMethod.POST, request, User.class);
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public User getUserById(int id) {
String sql = "SELECT * FROM user WHERE id = ?";
User user = jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class));
return user;
}
// other methods
}
@Repository //这个注解记得加上去
public class UserMapper {
private static Map<String, User> userMap=new HashMap<>();
//静态加载类,加载一次,已启动就有信息的了。
static {
userMap.put("jack",new User(1,"jack","123"));
userMap.put("xdclass-lw",new User(2,"xdclass","12343"));
userMap.put("tom",new User(3,"tom","123123"));
}
public User login(String username,String pwd) {
User user = userMap.get(username); //userMap.put("tom",new User(3,"tom","123123")); value是一个user
System.out.println(user+"=====");
if(user==null){
return null;
}
if (user.getPwd().equals(pwd)){
return user;
}
return null;
}
}
接口类:
public interface UserService {
String login(String username,String pwd);
}
接口实现类:
@Service //每个类的注解别忘了加
public class UserServiceImpl implements UserService {
private static Map<String,User> sessionMap=new HashMap<>(); //模拟
@Autowired //注入
private UserMapper userMapper;
@Override
public String login(String username, String pwd) {
User user=userMapper.login(username,pwd);
if (user==null){
return null;
}else {
String token= UUID.randomUUID().toString(); //生成唯一识别码
System.out.println(token);
sessionMap.put(token,user);
return token;
}
}
}
控制层:
@RestController
@RequestMapping("/api/v1/pub/user")
public class UserController {
// @PostMapping("login")
// public JsonData login(String pwd,String username){
// //http://localhost:8080/api/v1/pub/user/login?username=YO&pwd=9812432 再PostMan这样请求就会打印出对应的结果
// System.out.println("username="+username+"pwd="+pwd);
// return JsonData.buildSuccess("");
// }
@Autowired //注入
public UserService userService;
@PostMapping("login")
public JsonData login(@RequestBody User user){
//http://localhost:8080/api/v1/pub/user/login?username=YO&pwd=1233424 再PostMan这样请求就会打印出对应的结果
System.out.println("user"+user.toString());
String token=userService.login(user.getUsername(),user.getPwd());
return token!=null?JsonData.buildSuccess(token):JsonData.buildSuccess("账号密码错误");
}
}