我尝试为我的后期服务添加一个quarkus rest客户端
示例,这是一个使用quarkus构建的简单rest API。
java版本运行良好。
当我添加另一个 Kotlin 来测试 Quarkus 中的 Kotlin 和 Gradle 支持时,它失败了,REST 客户端接口无法注入为 CDI bean。
PostController
是Jaxrs资源,用于公开将原始两个API组合在一起的聚合API。
@Path("/api")
@RequestScoped
class PostController(@Inject @RestClient val client: PostResourceClient) {
// @Inject
// @RestClient
// lateinit var client: PostServiceClient
@GET
@Produces(MediaType.APPLICATION_JSON)
fun getPosts(@QueryParam("q")
q: String,
@QueryParam("offset")
@DefaultValue("0")
offset: Int,
@QueryParam("limit")
@DefaultValue("10")
limit: Int): Response {
val posts = this.client.getAllPosts(q, offset, limit).entity as List<Post>
val count = this.client.countAllPosts(q).entity as Long
return ok(PostPage(posts, count)).build()
}
}
以上两种注入Bean的方法都失败了。
REST客户端接口:
@Path("/posts")
@RegisterRestClient
interface PostResourceClient {
@GET
@Produces(MediaType.APPLICATION_JSON)
fun getAllPosts(
@QueryParam("q")
q: String,
@QueryParam("offset")
@DefaultValue("0")
offset: Int,
@QueryParam("limit")
@DefaultValue("10")
limit: Int
): Response
@GET
@Path("count")
@Produces(MediaType.APPLICATION_JSON)
fun countAllPosts(
@QueryParam("q")
q: String
): Response
}
此Rest Client接口的应用程序配置。
com.example.PostResourceClient/mp-rest/url=http://localhost:8080
com.example.PostResourceClient/mp-rest/scope=javax.inject.Singleton
完整的代码在这里。
与错误重复以注入一些依赖与 kotlin quarkus 这是一个 MicroProfile RestClient 问题。请参阅原始 SO 答案中的解决方法:
@Inject
@field: RestClient
lateinit internal var countriesService: CountriesService
MicroProfile RestClient上已打开一个问题,以便对此进行修复,并在Quarkus问题跟踪程序上进行跟踪:https://github.com/quarkusio/quarkus/issues/5413
在一节中,引入了接口,允许在请求中注入头,但必须返回同步响应。我们不能使用,这正是我的情况所需要的,因为我需要在头中添加一个令牌,而这个令牌是由返回的另一个restendpoint的请求检索的。 我如何在新的实现中实现这一点?如果不可能,有没有解决办法?
我正在尝试更新在WSO2 Identity Server中创建的用户信息,该服务器使用LDAP作为用户存储,并使用SCIM客户端Java应用程序。从JAVA客户端应用程序使用SCIM Restendpoint 我已经为这个应用程序配置了证书和主机名,并用hasini@gmail.com“用户和它的工作。 我的问题是,当我试图为这个用户使用类时。WSO2IS服务器显示错误: 波姆。xml: 这是将R
描述我正在使用MP Rest Client从我的服务实现中调用另一个Rest服务的错误,并希望通过使用覆盖一些头属性,但当我使用使用另一个CDI bean时,会引发。使用Micro Profile Rest Client 1.4,如果您的实现由CDI管理,则可以使用“@Inject”。这允许您注入机密,例如,或任何其他CDIBean来计算头值。 预期行为注入的ConfigProperty可用且不为
我有一个用于其他服务的外部http客户端,我已经将其导入到我的micronaut应用程序中,但收到一个错误,该错误指出: 原因:io.Micronaut.Context.Exceptions.NoSuchBeanException:不存在类型为[xxx.files.client.Micronaut.filesclient]的bean。确保bean没有被bean要求禁用(为'io.micronaut
客户端接入 积分商城是纯H5页面形式的,开发者客户端集成兑吧积分商城的方法是,直接在自己app的webview加载积分商城H5页面。 H5接入 开发者客户端接入,加载积分商城页面时,请务必做到以下几点,以保证积分兑换的用户体验。 保证webview可以自行适应页面:对接联调时需测试商城首页、商品详情页、活动页内容是否适配正常; Android应用下,为了用户兑换优惠券之后可以方便的去使用,请设置W
我需要一个用于java spring应用程序的graphQL客户端,以与另一个基于graphQL API的微服务通信。我知道Apollo Android,但它似乎没有用maven实现(也许你知道maven的一些链接或示例等)。有什么想法和建议吗?提前感谢!