我有一个获得名称和描述参数的APIendpoint(两者都是强制性的)
createSomething(@RequestParam(value = "name") String name,@RequestParam(value = "description") String description)
如果客户不提供任何这些,他将收到400个错误请求
有没有办法让我告诉客户缺少哪个字段?为“坏请求”响应提供更多信息
由于这两个参数都是必需的,如果您尝试发送不带参数的请求,将得到400(错误请求)。
一种解决方法是将请求参数设置为非强制性(这样就可以在没有参数的情况下发送请求),并在没有提供参数的情况下提供默认值
createSomething(@RequestParam(value = "name", required=false, defaultValue = null) String name,@RequestParam(value = "description", required=false, defaultValue = null) String description)
在函数中,可以像下面这样检查null-
if (name == null) // name parameter is not provided
if (description == null) // description paramter is not provided
并且,如果请求中未提供任何一个或多个参数,也可以根据条件发送错误响应。
Rest有很多处理错误的方法,请在下面找到至少5种解决方案的链接:
https://www.baeldung.com/exception-handling-for-rest-with-spring
您可以使用自定义消息验证:
@GetMapping("/name-for-month")
public String getNameOfMonthByNumber(@RequestParam @Min(1) @Max(value = 12, message = “month number has to be less than or equal to 12”) Integer month) {
// ...
}
问题内容: 我是OSGI的新手,我试图找出解决以下错误的方法 org.osgi.framework.BundleException:包org.foo.serviceBundle中未解决的约束[253]:无法解决253.0:缺少要求[253.0]包;未解决。(&(package = org.slf4j)(版本> = 1.6.0)(!(版本> = 2.0.0))) 我使用了Maven原型来生成包,并在
我需要从发布请求中获取ID。这是我的HTTP请求和标头管理器。 查看结果侦听器输出-采样器结果和请求响应数据为: { : "status":400,:" success":false,:" message ":"缺少请求正文!"} 我尝试使用blazemeter chrome插件,对于同样的请求,他们正在使用正文数据并解析其中的整个表单数据。有人能帮我吗? 授权持有人问题截图: BeanShell
我正在使用WSO2 Integrator6.6.0使阻塞HTTP获得返回JSON响应的REST API(HTTP 200 OK)。 但我从未在序列中看到反应体。我不确定我做错了什么,已经用尽了所有可用的文档和其他线程。 执行调用的序列(简化为匿名),随后记录响应: 这只会导致一个日志行--根本没有响应体! 我可以在我的API应用程序中看到请求,我还可以看到它在日志中正确地返回响应体。此外,使用Po
已安装: IBM Websphere MQ V7.5 GlassFish V3.1.2.2 MQ Explorer V7.5 我正在尝试为GlassFish配置资源适配器以使用Websphere MQ资源,并遵循http://www-01.ibm.com/support/knowledgecenter/ssfksj_8.0.0/com.ibm.MQ.dev.doc/q121520_.htm中的说明
问题内容: 编译错误: 解决办法? 问题答案: Java不允许您在函数局部内部类内定义非最终静态字段。只允许顶级类和静态嵌套类具有非最终静态字段。 如果您要在班级中添加一个字段,请将其放在班级级别,如下所示:
我正在使用一个基于json请求的API,除了一个请求之外,所有的请求都在工作。默认情况下,有问题的请求不允许跨域,但使用“Cors”可以工作。问题是,当我使用cors服务器使用javascript测试请求时,它可以工作,但当我使用node.js测试请求时,它不能工作。 不起作用的代码: 这是有效的代码: 我的网站做这个网址的请求:http://gankei-backend.herokuapp.co