gpt4 book ai didi

micronaut - 如何在 micronaut GET 请求中设置不需要的参数?

转载 作者:行者123 更新时间:2023-12-04 08:49:51 31 4
gpt4 key购买 nike

我需要在我的请求中将参数设置为不需要。
我试过:

 @Get(value = "/list/{username}")
HttpResponse<?> list(String username, @QueryValue(value = "actionCode") String actionCode) {
...
}
当我发送请求 http://localhost:8080/notification/list/00000000000 时,抛出以下错误:
{
"message": "Required Parameter [actionCode] not specified",
"path": "/actionCode",
"_links": {
"self": {
"href": "/notification/list/00000000000",
"templated": false
}
}
}

最佳答案

您可以通过 javax.annotation.Nullable 将 Micronaut 中的查询参数定义为可选参数注解:

import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import io.micronaut.http.annotation.QueryValue;
import javax.annotation.Nullable;

@Controller("/sample")
public class SampleController {
@Get("/list/{username}")
public String list(
String username,
@Nullable @QueryValue String actionCode
) {
return String.format("Test with username = '%s', actionCode = '%s'", username, actionCode);
}
}
以下是带有结果的示例调用。没有电话 actionCode :
$ curl http://localhost:8080/sample/list/some-user
Test with username = 'some-user', actionCode = 'null'
调用 actionCode :
$ curl http://localhost:8080/sample/list/some-user?actionCode=some-code
Test with username = 'some-user', actionCode = 'some-code'
如您所见,没有错误,它在 Micronaut 版本 1 和版本 2 中都以这种方式工作。

关于micronaut - 如何在 micronaut GET 请求中设置不需要的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64144944/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com