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

本文记录了在使用Spring Boot实现RESTful API时,遇到POST请求的一些问题及解决方案。在AJAX发送POST请求时,未更改Content-Type默认值text/html会导致415错误。同时,JSON数据需要使用JSON.stringify()转换。而在Java后台,使用Spring MVC新版本的注解处理POST请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值