Postman 不支持请求方法“POST”

Posted

技术标签:

【中文标题】Postman 不支持请求方法“POST”【英文标题】:Request method 'POST' not supported in Postman 【发布时间】:2021-07-25 21:52:39 【问题描述】:

我已经创建了这个控制器

@PostMapping(value = "/validate")
    public ResponseEntity<GenericResponse> validate(@RequestBody @Valid FormulaDTO formulaDto) 
        System.out.println(formulaDto);
        String expression = formulaDto.getFormula();
        service.validate(expression);
        return new ResponseEntity<>(new GenericResponse(HttpStatus.CREATED.value(), "Expression Validated"),
                HttpStatus.CREATED);
    

FormulaDTO 看起来像

public class FormulaDTO 

    private String formula;


我从邮递员创建了一个 PostRequest,其正文包含公式文本。 来自邮递员的 api 调用看起来像

https://localhost:8443/validate

主体为


    "formula" :"M00212=curr_month:M00213-curr_month:M00211*100.00"

我得到以下输出,并带有 500 Internal Server Error


    "timestamp": "2021-05-03",
    "message": "Request method 'POST' not supported",
    "details": "uri=/error"

如何使用 PostMapping?

【问题讨论】:

请添加您的控制器类的所有代码。还要添加网址以及您如何从邮递员那里调用您的 api。 请查看更新后的查询 您的控制器有一个名为“/validate”的端点,但在邮递员中您使用的是“/validateExpn”。尝试将其更改为“/验证” 对不起我的错。错误是相同的,即我无法通过邮递员使用邮政电话。知道为什么会这样。 请添加您所有的控制器类代码。我的意思是你使用 de @RestController 装饰器的部分。添加尽可能多的代码。我确定是配置问题 【参考方案1】:

在邮递员中使用http 而不是https

而不是这个:https://localhost:8443/validate

使用这个:http://localhost:8443/validate

【讨论】:

有一些权利问题,我添加了一些身份验证密钥,显然请求就像一个魅力!谢谢你的努力:)【参考方案2】:

看cmets

@RestController 没有根级映射。

即使你在控制器上没有根级映射,spring boot 似乎总是需要控制器级的以下注释

@RequestMapping

添加它,它将被修复!

【讨论】:

以上是关于Postman 不支持请求方法“POST”的主要内容,如果未能解决你的问题,请参考以下文章

postman发送post、get请求的区别与参数填写方式

postman 请求get post方法的 区别

Woocommerce API Post 方法不适用于通过 POSTMAN 的 HTTP 请求 - 获取无效签名

Postman进行Http接口测试

Postman接口测试之POSTGET请求方法

postman post请求 header 和body怎么用