当前位置: 首页 > 知识库问答 >
问题:

本机的quarkus resteasy-jackson空json结果

仉联
2023-03-14

测试quarkus应用程序,使用我的restendpoint/初始化

已安装的功能:[cdi,resteasy,resteasy-jackson]

我发现当应用程序以java(非本机)形式运行时,请检查http://localhost:8080/init

{
"user": {
"username": "u name",
"firstName": "f name",
"lastName": "l name",
"email": null
},
"logoutUrl": "url!!!!"
}

它将得到空结果:http://localhost:8080/init

{}

杰克逊是这样配置的:

    @Singleton
public class RegisterCustomModuleCustomizer implements ObjectMapperCustomizer {

    public void customize(final ObjectMapper objectMapper) {
        objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
        objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    }
}

也不例外。

    public class InitData {

        private .. some fields

以java形式运行时,编译quarkus:dev-f pom.xml:

[信息]正在扫描项目...[INFO][INFO]--------------- -----------------------[INFO]构建my-service1.0-Snapshot[INFO]---------------------------------------------[jar]-------------------[INFO][INFO]------maven-resources-plugin:2.6:resources(default-resources)@my-service----[INFO]使用“UTF-8”编码复制筛选的资源。[INFO]复制1个资源[INFO][INFO]----maven-compiler-plugin:3.8.1:compile(default-compile)@my-service----[INFO]检测到更改-重新编译模块![INFO]正在将41个源文件编译到/home/me/projects/my-project/v2/my-service-quarkus/target/classes[INFO][INFO]---quarkus-maven-plugin:1.0.0.cr1:dev(default-cli)@my-service---监听传输dt_socket在地址:5005 2019-11-12 14:17:43,027 INFO[io.qua.dep.quarkusaugmentor](main)开始quarkus增强2019-11-12 14:17:43,599监听:http://0.0.0.0:8080 2019-11-12 14:17:44,105 INFO[io.quarkus](主)Profile dev已激活。激活实时编码。2019-11-12 14:17:44,105信息[IO.Quarkus](主)已安装功能:[cdi,resteasy,resteasy-jackson]

然后点击:http://localhost:8080/init

2019-11-12 14:19:52,423信息[com.dis.pla.app.ser.fil.loggingfilter](Vert.x-worker-thread-1)请求从IP 0:0:0:0:0:0:0:0:0:1:48810 2019-11-12 14:19:52,425信息[com.dis.pla.app.initresource](Vert.x-worker-thread-1)以用户f名My.Compnay.api.UserData@37AC6925初始化

--

共有1个答案

能帅
2023-03-14

@registerforreflection(从这里开始)是在资源不直接返回数据对象时在数据对象上使用的注释。

即。在我的例子中:

  @GET
    public Response getInit(

因此,除非你输入:

@RegisterForReflection
class InitData { ...
 类似资料:
  • 问题内容: 我试图从我的postgres数据库中检索一些数据,并将它们打印为json。我成功地在没有json的情况下打印了它们,但我在json中需要它们。 main.go: 这是我访问localhost:1337 / db时得到的 这是终端上的输出: 有人知道是什么问题吗? 问题答案: 该包使用反射(结构的包),以存取字段。您需要导出结构的字段以使其起作用(以大写字母开头): 扫描时: 引用自:

  • 我正在用java中的jackson构建一个json体。它会像下面这样 基于不同的 REST URI,json 主体必须忽略某些字段或元素。如何使用杰克逊忽略上述 json 正文中的“学生”部分?当我忽略它时,我应该只能得到 但我得到它如下,这是不正确的- 我有两个带有getters和setters的类,一个作为主语,另一个作为学生。我尝试使用@JsonIgnore,但是它忽略了所有的URI,这是我

  • 知道我做错了什么吗?如果重要的话,我将使用Jackson-core 2.1.1。

  • 我有一个杰克逊多态性问题。我想将JSON数据反序列化为多态类型。通过阅读Jackson文档,我可以将JSON数据反序列化为多态类型。不过,我有一个特例。我有一个类结构如下: 注意:类栏除了继承的“类型”字段之外没有任何其他成员变量。 如果我传入上面的json数据,如: 我得到了类似“无法从end_token中反序列化类条”的信息。我相信这是因为JsonTypeInfo和JsonSubTypes注释

  • 我遇到了一个问题。Jersey客户端通过调用反序列化我的POJO时 响应json中的所有字段,即小计、发货成本、税和总计都为空。 我最初认为这与Money类有关,即ObjectMapper不知道如何反序列化这个类,但我有其他api调用,这些调用返回带有Money字段的响应实体,这些字段反序列化没有任何问题。 这是从服务器返回的JSON: 波乔 我的钱POJO

  • 问题内容: 在iOS SDK中是否有一个类可以从服务器解析JSON?(类似于NSXML for XML,并且扩展名为RSS。) 问题答案: 从iOS5开始,JSON已被本地支持,无需第三者框架。NSJSONSerialization类支持此功能!