RestFul API开发,前后端分离模式,ajax调用,JSON传递
2020-01-14 14:46
483 查看
1、前端部分,调用后台数据
function saveHtml() { // console.log($("#textContent").text()); // console.log($("#content").text()); $.ajax({ url: "/article/add", type: "post", async: true, data: { "content": $("#text").text(), "textContent": $("#textContent").text() }, dataType: "json", success: function (data) { alert(data.msg); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); // paser error; } }); }
2、后台部分,以JSON格式返回数据
/** * 保存文章 */ @ResponseBody @PostMapping("/add") public ReturnT add(TbArticle article) { return articleService.insert(article); }
3、service
/** * 新增 */ ReturnT insert(TbArticle tbArticle);
4、impl
@Override @Transactional(rollbackFor = Exception.class) public ReturnT insert(TbArticle article) { // valid if (article == null) { return ReturnT.SUCCESS(HttpStatus.HTTP_BAD_REQUEST, "必要参数缺失"); } article.setTitle("hhhh"); article.setCreateTime(new Date()); article.setCommentable("是"); article.setCommentCount(0); article.setPermalink(DateUtil.format(new Date(), "yyyy/MM/dd")); article.setPutTop("否"); article.setViewCount(0); luteArticleMapper.insert(article); return ReturnT.SUCCESS(article, "文章发布成功!"); }
5、ReturnT是封装的
package com.nathan.lute.module; import lombok.Data; import java.io.Serializable; /** * 〈一句话功能简述〉<br> * 〈〉 * * @author Na7han 2019-11-26 */ @Data public class ReturnT implements Serializable { private static final long serialVersionUID = 1L; /*成功标示*/ private boolean success; /*返回状态码*/ private int code; /*返回对象*/ private Object data; /* 返回错误信息*/ private String msg; /*-----------------------------------------构造器开始----------------------------------------*/ /** * 返回成功的实体 * * @param msg 消息 * @param obj 数据 */ public ReturnT(Object obj, String msg) { this.code = 200; this.success = true; this.msg = msg; this.data = obj; } /** * 成功 * * @param msg 消息 */ public ReturnT(String msg) { this.code = 200; this.success = true; this.msg = msg; this.data = (Object) ""; } /** * 成功 * * @param data 数据 */ public ReturnT(Object data) { this.code = 200; this.success = false; this.msg = "请求成功!"; this.data = data; } /** * 返回错误信息 * * @param code 错误码 * @param msg 消息 */ public ReturnT(int code, String msg) { this.code = code; this.success = false; this.msg = msg; this.data = (Object) ""; } /** * 成功直接返回数据和状态 * * @param data 数据 * @param msg 消息 */ public static ReturnT SUCCESS(Object data, String msg) { return new ReturnT(data, msg); } /** * 成功直接返回数据和状态 * * @param msg 消息 */ public static ReturnT SUCCESS(String msg) { return new ReturnT(msg); } /** * 成功直接返回数据和状态 * * @param data 数据 */ public static ReturnT SUCCESS(Object data) { return new ReturnT(data); } /** * 失败 * * @param code 失败状态码 * @param msg 失败说明 * @return */ public static ReturnT FAIL(int code, String msg) { return new ReturnT(code, msg); } /*-----------------------------------------构造器开始/End----------------------------------------*/ /* ---------------------------------------Http状态码----------------------------------------*/ /** * 服务器错误 */ public static final int FAIL_CODE = 500; /* ---------------------------------------Http状态码/End----------------------------------------*/ }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- jQuery Ajax 调用 ASP.NET WebServices + (POST)->JSON 数据传递,一种开发高效的模式
- Python 语言 Oracle 数据库基于 SQLAlchemy + Flask + Ajax 的 Json 前后端分离开发博客系统遇到的坑汇总
- django框架前后端分离CBV模式后端API开发
- RESTful API完成前后端分离开发。
- delphi7的新生,参与分布式应用开发,调用RESTful API,Json的应用
- 通过Express4构建Restful API服务器 - 结合AngularJS前后端分离开发
- SOSOAPI前后端分离开发模式下的接口测试
- Ajax调用restful接口传送Json格式数据的方法
- 前后端分离开发部署模式
- JavaWeb开发中Ajax技术、json与java实现List、Map数据直接传递的研究
- ajax传送json格式数据,调用restful接口
- laravel框架下 前后端分离开发时 通过AJax请求单独获取加密后的csrf_token
- 基于RESTful Web API的前后端分离全栈工程师之路[0]
- 关于前后端分离开发的方法,jQuery的Mockjax:Ajax请求模拟
- WEB开发中,使用JSON-RPC好,还是RESTful API好?
- 前后端分离的交互式开发模式
- Ajax中数据传递的另一种模式 javascript Object Notation思想(JSON)
- 使用SpringMvc 开发 RESTful API 用户详情请求、JsonView注解使用(二)
- ajax + vue + springboot + Restful实现前后端分离项目
- 基于API的前后端分离开发