最近在学习spring cloud 不但对JAVA的微服务架构有了些许了解
在动手编写微服务架构的时候,接触到了 restful api 的编写。
首先呢 这个restful api 之前就有听说过,苦于公司项目一直没有应用,当时的印象就是这个跟传统的传参方式也差不多,直到最近实操了一下,真的是很省事也很爽。
本人实测了两个常用请求方式GET 和 POST
GET呢就不说了这个跟传统差不多,在操作POST的时候碰到点坑,在此记录一下
首先是页面的AJAX
function doAjax(method,url,data,func){
if(method=="GET"){
//其他逻辑暂时不做
}else if(method=="POST"){
//其他逻辑暂时不做
}else{
return false;
}
console.log(data);
$.ajax({
type: method,
url: url,
data: JSON.stringify(data),
dataType:'json',
headers:{
Accept:"application/json",
"Content-Type":"application/json"
},
success: function(msg){
func(msg);
}
});
}
坑1: Content-Type 的默认类型是 text/html 如果不做更改 在请求的时候会报错
415:不认识的媒体类型
坑2 : data 这个参数传进来的时候是个对象 需要使用 JSON.stringify(data),(我
没试过不转~~,感觉会有坑就加上了 有兴趣的童鞋可以尝试一下)
下面是后台代码 后台我采用的java的spring boot(不要问我为什么是JAVA 因为从工作角度讲,JAVA真的是太好找工作了)
这里只贴一下controller
@RestController
public class ShenCeController {
@PostMapping("save")
public String shenCeSave(
@RequestBody(required=true) JSONObject parm,
HttpServletRequest request
){
System.out.println(parm.toJSONString());
//开始写业务逻辑
}
}
JAVA 中的两个注解 需要新点版本的spring mvc 支持~具体版本没有考究过,反正我公司的spring mvc 不支持
至此一次完整 restful 风格的POST请求就完成了,开始写业务逻辑吧