陌虚友 2024-01-25 14:47 采纳率: 66.7%
浏览 13
已结题

406报错,后端返还数据格式可能存在问题

JavaSpringbbot
后端请求返回给前端时,前端控制台报了406错误

img

后端代码用了fastjson依赖

     <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>

预测可能的问题是前端接受不了后端的数据格式,后端需要做转换,可是上面的截图显示响应头和请求头的数据格式应是一样的,求指点
后端结果类

package com.andrew.gpt.result;

public class OpenResult<T> {
    /**
     * 返回消息
     */
    private String msg;

    /**
     * 状态码
     */
    private Integer status;

    /**
     * 返回token
     */
    private String token;

    /**
     * 数据集
     */
    private T data;
    public static <T> OpenResult<T> success(T object) {
        OpenResult<T> r = new OpenResult();
        r.data = object;
        r.status= 200;
        return r;
    }
    public static <T> OpenResult<T> error(String msg) {
        OpenResult r = new OpenResult();
        r.msg = msg;
        r.status = 500;
        return r;
    }
}


登陆请求接口


```java
  @PostMapping( "/login")
    public OpenResult<String> login(@RequestBody JSONObject jsonObject, HttpServletRequest request) {
        if (StrUtil.isBlank(jsonObject.getStr("email")) || StrUtil.isBlank(jsonObject.getStr("userPassword"))) {
            log.info(jsonObject.getStr("email"));
            log.info(jsonObject.getStr("userPassword"));
            return OpenResult.error("请求参数错误");
        }
        IpWhite ipWhite = ipWhiteService.lambdaQuery()
                .eq(IpWhite::getEmail, jsonObject.getStr("email"))
                .eq(IpWhite::getUserPassword, jsonObject.getStr("userPassword")).one();
        if (ipWhite == null) {
            if (ipWhiteService.lambdaQuery().eq(IpWhite::getEmail, jsonObject.getStr("email")).count() == 0) {
                return OpenResult.error("当前账号未注册!");
            } else {
                return OpenResult.error("账号或密码错误!");
            }
        }
        if (ipWhite.getIpStatus() == 1) {
            return OpenResult.error("当前账号被封禁");
        } else if (ipWhite.getIpStatus() == 3) {
            return OpenResult.error("当前账号正在审核,请稍等...");
        } else {
            log.info(jsonObject.getStr("email")+"成功登陆了");
            return loginSuccess(request, String.valueOf(ipWhite.getWid()), 0, ipWhite.getEmail());
        }
    }

```

  • 写回答

2条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-01-25 14:57
    关注

    你浏览器F12,看network(网络那一块)你看看有没有成功返回数据。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月25日
  • 已采纳回答 1月25日
  • 创建了问题 1月25日