前后台 restful api 中的POST请求踩坑实录

最近在学习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请求就完成了,开始写业务逻辑吧

你可能感兴趣的:(java)