说明:

(1)本篇博客内容:开发【获得用户基本信息,接口】;

目录

零:本篇博客合理性说明;(或者说是:【获得用户基本信息,接口】是什么)

一:正式开发;

1.在【api】接口工程的UserControllerApi接口中,定义【获得用户基本信息,接口】;

2.在【user】用户微服务的UserController类中,去实现【获得用户基本信息,接口】;

二:效果;

1.访问页面时,遇到了一个bug:侧边栏显示不出来了;(bug演示)

2.bug分析;

3.bug解决;

4.再次访问,发现OK了;


零:本篇博客合理性说明;(或者说是:【获得用户基本信息,接口】是什么)

比如CSDN:


一:正式开发;

1.在【api】接口工程的UserControllerApi接口中,定义【获得用户基本信息,接口】;

2.在【user】用户微服务的UserController类中,去实现【获得用户基本信息,接口】;

    /*** 【获得用户基本信息,接口】* @param userId :用户id;* @return*/@Overridepublic GraceJSONResult getUserInfo(String userId) {//0.判断参数不能为空;如果为空,就抛出一个【请登录后再继续操作】的异常;if (StringUtils.isBlank(userId)) {return GraceJSONResult.errorCustom(ResponseStatusEnum.UN_LOGIN);}//1.根据userId,去查询用户信息;AppUser user = getUser(userId);//2.把user中的【user和appUserVO,共有的属性的,属性值】copy到appUserVO;AppUserVO appUserVO = new AppUserVO();BeanUtils.copyProperties(user,appUserVO);//3.返回用户信息;return GraceJSONResult.ok(appUserVO);}

说明:

(1)我们根据接口的对返回数据的要求(或者说是前后端的约定),在【model】模型工程中创建AppUserVO类用于包装返回给前端的数据;(自然,这类中的属性都是一些非隐私的、可以给其他用户看的基本信息;)(友情提示:类中的所有属性,都要添加get和set方法,否则后续会出问题)

package com.imooc.vo;import java.util.Date;/*** 包含一些用户的非隐私的(可以给其他人看的)信息*/
public class AppUserVO {private String id;
//    private String mobile;//手机号private String nickname;//昵称private String face;//图像文件地址//    private String realname;//真实姓名
//    private String email;//邮箱
//    private Integer sex;//性别
//    private Date birthday;//生日
//    private String province;//省份
//    private String city;//城市
//    private String district;//区县private Integer activeStatus;//用户的激活状态
//                    activeStatuspublic String getId() {return id;}public void setId(String id) {this.id = id;}public String getNickname() {return nickname;}public void setNickname(String nickname) {this.nickname = nickname;}public String getFace() {return face;}public void setFace(String face) {this.face = face;}public Integer getActiveStatus() {return activeStatus;}public void setActiveStatus(Integer activeStatus) {this.activeStatus = activeStatus;}
}

(2)内容说明;

(3)别忘了,我们把【调用service层的逻辑,根据userId去查询用户信息】抽成了一个公用方法;


二:效果;

先全局install一下整个项目;

然后,启动【user】用户微服务的主启动类;

1.访问页面时,遇到了一个bug:侧边栏显示不出来了;(bug演示)

然后,一个未曾设想的bug就出现了,侧边栏没有了~~~~(以前,明明是有的啊~~~)

2.bug分析;

声明:由于前端的知识,自己只了解html、css、JavaScript的一点皮毛;自己并了解Vue,所以下面的分析可能存在遗漏、偏差甚至是错误的地方;

……………………………………………………

……………………………………………………

那么,很有可能后端在给前端返数据的时候,activeStatus这个值出问题了哎~~~

3.bug解决;

于是,给activeStatus创建get和set方法,重启项目;

4.再次访问,发现OK了;

……………………………………………………

……………………………………………………

……………………………………………………

PS:还是那句话,自己对Vue了解的并不深,只能做到勉强看个半懂、个别简单情况能勉强照猫画虎;;;对于前端,尤其是Vue这种企业级的成熟框架,自己并没有能力,事无巨细的全部搞明白、全部hold住~~~

31:第三章:开发通行证服务:14:开发【获得用户基本信息,接口】;(需要根据前端对返回数据的要求,创建一个只包含非隐私信息的AppUserVO类,去包装返回给前端的数据)相关推荐

  1. 33:第三章:开发通行证服务:16:使用Redis缓存用户信息;(以减轻数据库的压力)

    说明: (1)声明:这个其中的区别和相同点,要清楚: ● 在[32:第三章:开发通行证服务:15:浏览器存储介质,简介:]中,前端使用[把"用户基本信息"存到Session Sto ...

  2. 32:第三章:开发通行证服务:15:浏览器存储介质,简介;(cookie,Session Storage,Local Storage)

    说明: (1)简单介绍浏览器存储介质:cookie,Session Storage,Local Storage: (2)目前为止的.可以确定的几点: ● 这些存储介质都是浏览器的,我们要想使用这些存储 ...

  3. 26:第三章:开发通行证服务:9:【注册/登录】接口:验证码校验OK后,先根据手机号去查查该用户是否已存在,如果用户不存在就创建这个用户;(tkmybatis查询构建查询条件,雪花算法,枚举类等等)

    说明: (1)本篇博客内容:继续开发[注册/登录]接口: ● 在[25:第三章:开发通行证服务:8:[注册/登录]接口:接收并校验"手机号和验证码"参数:]中,[注册/登录]接口, ...

  4. 使用KBEngine开发UE4服务端——开发详解

    使用KBEngine开发UE4服务端--开发详解 1. 简述 开始正式进入开发,网络上关于开发和修改文件的文章较少,这里会记录自己开发过程中需要更改的地方和一些流程. 2. 前期的配置说明 根据前文配 ...

  5. PHP开发之-微信网页授权获取用户基本信息

    如何通过网页授权获取用户基本信息(国家,省,市,昵称)相关信息 必要条件: 1)公众号认证 2)有网页授权获取用户基本信息的权限接口 注意:最近有朋友说:在公众平台申请的测试号,会出现无法取到用户信息 ...

  6. 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

    给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", ...

  7. 20:第三章:开发通行证服务:3:在程序中,打通redis服务器;(仅仅是打通redis服务器,不涉及具体的业务开发)

    说明: (1)本篇博客需要注意的点: ● 本篇博客仅仅是打通redis服务(也就是我们的程序,可以操作redis服务器),不涉及[redis服务,在项目中的具体应用],也不涉及[具体业务的开发]: ● ...

  8. Java客户端开发与服务端开发

    正文 在写这个文章之前,我花了点时间,自己臆想了一个电商系统,基本上算是麻雀虽小五脏俱全,我今天就用它开刀,一步步剖析,我会讲一下我们可能会接触的技术栈可能不全,但是够用,最后给个学习路线. Tip: ...

  9. linux find返回数据不一样,请问一个linux的find的问题,如何让find的返回结果不显示“Perm...

    请问一个linux的find的问题, 如何让find的返回结果不显示"Permission denied"信息? 例如 user1[some directory]>  fin ...

最新文章

  1. C语言\b回退一格!_只愿与一人十指紧扣_新浪博客
  2. 奥比中光大白(3D结构光)摄像头测试发现对着灯光过曝问题
  3. table表格细边框
  4. Ubuntu中文输入法崩溃问题(候选框乱码)
  5. 中科院研究员:教给孩子的数学浅得让人想哭
  6. 网络编程6_multiprocess模块.锁.队列
  7. pku1833 排列(use next_permutation)
  8. 内含干货PPT下载|一站式数据管理 DMS 关键技术解读
  9. 为什么越来越多的企业选择云数据存储而放弃本地数据存储?
  10. ObjectARX如何打开一个dwg文件
  11. 【转载】用reshacker轻松修改系统OEM信息
  12. MATLAB之物理场可视化
  13. MarkdownPad2 使用教程
  14. 数据化运营需要的四个层次
  15. ad如何计算电路板的pin数量_各类EDA软件统计pin数方法
  16. c++当中strtotime函数
  17. 真人测评 腾讯极光4Pro怎么样?跟上一代比值得买吗
  18. mini6410移植全攻略(5)--uboot移植之支持nand flansh启动(下)
  19. 安装cnpm后运行报cnpm :无法加载文件 C:\Users\29038\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。
  20. 关于VERIFY_OCTAL_PERMISSIONS权限检查

热门文章

  1. 数据库系统原理名词解释
  2. 蓝牙耳机哪款延迟低?低延迟蓝牙耳机推荐
  3. win10下如何隐藏Linux盘符,Windows10系统下如何隐藏一个磁盘盘符
  4. 快速理解什么是工厂模式(简单工厂模式)
  5. 在知乎复制的文本为什么会自带一些版权声明,这个功能是如何实现的?
  6. JS版圆桌骑士DEMO
  7. ERP选型之选型九步
  8. halcon机器视觉识别白底黑字点型二维码qrcode码
  9. Windows Media Player 网页播放器 参数含义
  10. select语句完整语法