keepasdd 2025-10-24 20:36 采纳率: 0%
浏览 8

为什么我用PostMan测试接口的时候服务端正常运行而且日志也没有报错而且数据也正常一切都正常但是postman返回的文件一直在报406 跟not acceptable困扰一晚上了求解求解

为什么我用PostMan测试接口的时候服务端正常运行而且日志也没有报错而且数据也正常一切都正常但是postman返回的文件一直在报406 跟not acceptable困扰一晚上了求解求解

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-10-24 20:41
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题分析

    • 服务端正常运行,日志也没有报错,数据也正常,这意味着服务端的逻辑和数据处理都是正确的。
    • 但是,PostMan返回的状态码是406,这意味着服务端认为客户端发送的请求不接受。

    解决方案

    • 406状态码通常是因为服务端认为客户端发送的请求的Accept头不被服务端支持。
    • 检查PostMan发送的请求头,特别是Accept头,看看是否设置为服务端支持的类型(例如application/json)。
    • 如果PostMan发送的请求头没有设置Accept头,可以尝试在PostMan的请求头中添加Accept头,例如application/json。
    • 如果服务端使用Java开发,可以检查服务端的配置文件(例如application.properties或application.yml),看看是否有相关的配置项,例如:
    spring.mvc.accept-header-value=application/json
    
    • 如果有相关的配置项,可以尝试修改或删除它,看看是否可以解决问题。

    核心代码

    // Java 代码示例
    @RestController
    @RequestMapping("/api")
    public class MyController {
        @PostMapping("/test")
        public ResponseEntity<String> test(@RequestBody String body) {
            // ...
            return ResponseEntity.ok("success");
        }
    }
    
    // application.properties示例
    spring.mvc.accept-header-value=application/json
    

    注意

    • 请确保PostMan发送的请求头和服务端的配置文件(如果有)保持一致。
    • 如果问题仍然存在,请检查服务端的日志和代码,看看是否有其他的错误或异常。
    评论

报告相同问题?

问题事件

  • 创建了问题 10月24日