当前位置: 首页 > news >正文

广东seo网站推广代运营网站建设初期问题常见

广东seo网站推广代运营,网站建设初期问题常见,腾讯企点官网,罗湖区住房和建设局网站官网第八章 项目实战 四、后台功能开发 3. 头条模块开发 3.1 登陆验证和保护 3.1.1 需求描述 客户端在进入发布页前、发布新闻前、进入修改页前、修改前、删除新闻前先向服务端发送请求携带 token 请求头后端接收 token 请求头后#xff0c;校验用户登录是否过期并做响应前端根…第八章 项目实战 四、后台功能开发 3. 头条模块开发 3.1 登陆验证和保护 3.1.1 需求描述 客户端在进入发布页前、发布新闻前、进入修改页前、修改前、删除新闻前先向服务端发送请求携带 token 请求头后端接收 token 请求头后校验用户登录是否过期并做响应前端根据响应信息提示用户进入登录页还是进入正常业务页面 3.1.2 接口描述 url 地址user/checkLogin 请求方式get 请求参数: 无 请求头 token: 用户 token 响应数据 未过期 {code:200,message:success,data:{} }过期 {code:504,message:loginExpired,data:{} }3.1.3 代码实现 3.1.3.1 controller 【登录检查】 GetMapping(checkLogin) public Result checkLogin(RequestHeader String token){if (StringUtils.isEmpty(token) || jwtHelper.isExpiration(token)){//没有传或者过期 未登录return Result.build(null, ResultCodeEnum.NOTLOGIN);}return Result.ok(null); }3.1.3.2 拦截器 【所有/headline 开头都需要检查登陆】 Component public class LoginProtectInterceptor implements HandlerInterceptor {Autowiredprivate JwtHelper jwtHelper;Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String token request.getHeader(token);if (StringUtils.isEmpty(token) || jwtHelper.isExpiration(token)){Result result Result.build(null, ResultCodeEnum.NOTLOGIN);ObjectMapper objectMapper new ObjectMapper();String json objectMapper.writeValueAsString(result);response.getWriter().print(json);//拦截return false;}else{//放行return true;}} }3.1.3.3 拦截器配置 Configuration public class WebMvcConfig implements WebMvcConfigurer {Autowiredprivate LoginProtectInterceptor loginProtectInterceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(loginProtectInterceptor).addPathPatterns(/headline/**);} }3.2 头条发布实现 3.2.1 需求描述 用户在客户端输入发布的新闻信息完毕后发布前先请求后端的登录校验接口验证登录登录通过则提交新闻信息后端将新闻信息存入数据库 3.2.2 接口描述 url 地址headline/publish请求方式post请求头: token: ... ...请求参数: {title:小帽课堂宣布 ... ..., // 文章标题article:... ..., // 文章内容type:1 // 文章类别 }响应数据 未登录 {code:504,message:loginExpired,data:{} }成功 {code:200,message:success,data:{} }3.2.3 代码实现 3.2.3.1. controller /*** 实现步骤:* 1. token获取userId [无需校验,拦截器会校验]* 2. 封装headline数据* 3. 插入数据即可*/ PostMapping(publish) public Result publish(RequestBody Headline headline,RequestHeader String token){int userId jwtHelper.getUserId(token).intValue();headline.setPublisher(userId);Result result headlineService.publish(headline);return result; }3.2.3.2 service /*** 发布数据* param headline* return*/ Override public Result publish(Headline headline) {headline.setCreateTime(new Date());headline.setUpdateTime(new Date());headline.setPageViews(0);headlineMapper.insert(headline);return Result.ok(null); }3.3 修改头条回显 3.3.1 需求描述 前端先调用登录校验接口,校验登录是否过期登录校验通过后 ,则根据新闻 id 查询新闻的完整信息并响应给前端 3.3.2 接口描述 url 地址headline/findHeadlineByHid 请求方式post 请求参数: hid1 param形成参数响应数据 成功 {code:200,message:success,data:{headline:{hid:1,title:马斯克宣布,article:... ... ,type:2}} }3.3.3 代码实现 3.3.3.1 controller PostMapping(findHeadlineByHid) public Result findHeadlineByHid(Integer hid){Result result headlineService.findHeadlineByHid(hid);return result; }3.3.3.2 service /*** 根据id查询详情* param hid* return*/ Override public Result findHeadlineByHid(Integer hid) {Headline headline headlineMapper.selectById(hid);MapString,Object pageInfoMapnew HashMap();pageInfoMap.put(headline,headline);return Result.ok(pageInfoMap); }3.4 头条修改实现 3.4.1 需求描述 客户端将新闻信息修改后,提交前先请求登录校验接口校验登录状态登录校验通过则提交修改后的新闻信息,后端接收并更新进入数据库 3.4.2 接口描述 url 地址headline/update 请求方式post 请求参数: {hid:1,title:小帽课堂宣布 ... ...,article:... ...,type:2 }响应数据 成功 {code:200,message:success,data:{} }3.4.3 代码实现 3.4.3.1 controller PostMapping(update) public Result update(RequestBody Headline headline){Result result headlineService.updateHeadLine(headline);return result; }3.4.3.2 service /*** 修改业务* 1.查询version版本* 2.补全属性,修改时间 , 版本!** param headline* return*/ Override public Result updateHeadLine(Headline headline) {//读取版本Integer version headlineMapper.selectById(headline.getHid()).getVersion();headline.setVersion(version);headline.setUpdateTime(new Date());headlineMapper.updateById(headline);return Result.ok(null); }3.5 删除头条功能 3.5.1 需求描述 将要删除的新闻 id 发送给服务端服务端校验登录是否过期,未过期则直接删除,过期则响应登录过期信息 3.5.2 接口描述 url 地址headline/removeByHid 请求方式post 请求参数: hid1 param形成参数响应数据 成功 {code:200,message:success,data:{} }3.5.3 代码实现 controller PostMapping(removeByHid) public Result removeById(Integer hid){headlineService.removeById(hid);return Result.ok(null); }五、前后端联调 SSM - Springboot - MyBatis-Plus 全栈体系 正式完结
http://www.w-s-a.com/news/56224/

相关文章:

  • 关于建设网站的情况说明书文化建设方面的建议
  • 订票网站开发公司大通证券手机版下载官方网站下载
  • 网店美工的意义与发展佛山推广seo排名
  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站
  • 官方查企业的网站办公用品网站建设策划书
  • 微信网站搭建哪家好网站中转页
  • 阿里巴巴网站开发是谁长沙自助模板建站
  • 阿里云网站方案建设书网络公司运营是干啥的
  • 南通seo网站排名优化nginx wordpress rewrite
  • 网站做成软件做内部网站费用
  • 浙江企业网站建设网站域名有了 网站如何建设
  • 学编程哪个机构有权威德州做网站优化
  • 最火的网站开发语言福州网站建设服务商
  • 嘉兴网站制作哪里好asp网站源码免费版
  • 如何给网站配置域名百度网站统计添加网址
  • 搭建wap网站磁力引擎
  • 如何给公司网站做推广个人网站可以做社区吗
  • 网站建设为什么不给源代码大理如何做百度的网站
  • 网站代理违法吗网站备份流程
  • 免费域名查询网站wordpress wordfence
  • h5响应式网站模板制作巴南网站制作
  • 网站方案报价软文什么意思