开始

我的信息
image.png

用户中心

先来写查询用户信息的接口
image.png

用户中心可以理解为两个不同的业务
image.png

所以这里我们进行分层center。用户中心的都放在这里
image.png

image.png
image.png

  1. package com.imooc.controller.center;
  2. import io.swagger.annotations.Api;
  3. import org.springframework.web.bind.annotation.RestController;
  4. @RestController
  5. @Api(value = "center - 用户中心", tags = {"用户中心展示的相关接口"})
  6. public class CenterController {
  7. }

service层

image.png

image.png
复制UserService,改个名字叫做CenterUserService
image.png
为了区分开上面的UserService。这里前面加一个前缀CenterUserService
image.png

image.png

public interface CenterUserService {

   /**
    * 根据用户id查询用户信息
    * @param userId
    * @return
    */
   public Users queryUserInfo(String userId);
}

接口的实现

image.png

密码的问题,重新去设置。
先查询出来单个对象,再把user设置为null
image.png

public class CenterUserServiceImpl implements CenterUserService {

    @Autowired
    private UsersMapper usersMapper;
    @Autowired
    private Sid sid;

    @Transactional(propagation = Propagation.SUPPORTS)
    @Override
    public Users queryUserInfo(String userId) {
        Users user = usersMapper.selectByPrimaryKey(userId);
        user.setPassword(null);
        return user;
    }
}

controller

image.png

@RestController
@Api(value = "center - 用户中心", tags = {"用户中心展示的相关接口"})
@RequestMapping("center")
public class CenterController {

    @Autowired
    private CenterUserService centerUserService;

    @ApiOperation(value = "获取用户信息",notes = "获取用户信息",httpMethod = "GET")
    @GetMapping("userInfo")
    public IMOOCJSONResult userInfo() {

    }
}

image.png

@ApiOperation(value = "获取用户信息",notes = "获取用户信息",httpMethod = "GET")
    @GetMapping("userInfo")
    public IMOOCJSONResult userInfo(
            @ApiParam(name = "userId",value = "用户id", required = true) 
            @RequestParam String userId) {

    }

image.png

 @ApiOperation(value = "获取用户信息",notes = "获取用户信息",httpMethod = "GET")
    @GetMapping("userInfo")
    public IMOOCJSONResult userInfo(
            @ApiParam(name = "userId",value = "用户id", required = true)
            @RequestParam String userId) {
        Users user = centerUserService.queryUserInfo(userId);
        return IMOOCJSONResult.ok(user);
    }

启动服务测试

首先还是要maven install
image.png

前端代码

一共涉及到了6个页面
image.png
用户的请求
image.png
这里实际上 涉及的是权限,权限目前我们还没有涉及到。因为用到的是Redis
image.png

拿到用户信息
image.png
生日是日期类型,进行日期的格式化
image.png
配置文件
image.png
这里和前台的项目相同,可以直接复制过来就可以用。
image.png

测试

image.png

image.png

后端请求地址没有问题
image.png
前端把请求改成get方式
image.png

刷新前端数据,出来了
image.png

结束