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

Spring集成:无法解析“javaTypes”中的“json__TypeId__”

狄兴业
2023-03-14

在发送请求消息并获取有效负载数据(json)后,我想从gitlab应用程序中获取json数据,我使用postman chrome插件将内容附加到了该应用程序中。

我得到的错误如下。

Caused by: java.lang.IllegalArgumentException: Could not resolve 'json__TypeId__' in 'javaTypes'.
    at org.springframework.integration.support.json.AbstractJacksonJsonObjectMapper.createJavaType(AbstractJacksonJsonObjectMapper.java:67)
    at org.springframework.integration.support.json.Jackson2JsonObjectMapper.extractJavaType(Jackson2JsonObjectMapper.java:119)
    at org.springframework.integration.support.json.Jackson2JsonObjectMapper.extractJavaType(Jackson2JsonObjectMapper.java:44)

标题内容

Cache-Control → max-age=0, private, must-revalidate
Connection → keep-alive
Content-Length → 7744
Content-Type → application/json
Date → Thu, 25 Jun 2015 05:50:04 GMT
ETag → "bf03cd61784161d9550b5924f29559f0"
Link → <http://70.121.224.25/gitlab/api/v3/users?page=2&per_page=0>; rel="next", <http://70.121.224.25/gitlab/api/v3/users?page=1&per_page=0>; rel="first", <http://70.121.224.25/gitlab/api/v3/users?page=20&per_page=0>; rel="last"
Server → nginx
Status → 200 OK
X-Request-Id → a7aced18-64aa-4932-94c0-779270b637d5
X-Runtime → 0.121132

身体内容

[
    {
        "name": "alm",
        "username": "alm",
        "id": 2,
        "state": "active",
        "avatar_url": null,
        "created_at": "2014-12-08T17:41:47.000+09:00",
        "is_admin": true,
        "bio": null,
        "skype": "",
        "linkedin": "",
        "twitter": "",
        "website_url": "",
        "email": "alm-support@samsung.com",
        "theme_id": 2,
        "color_scheme_id": 1,
        "extern_uid": null,
        "provider": null,
        "projects_limit": 100,
        "can_create_group": true,
        "can_create_project": true
    },
    {
        "name": "ROOT",
        "username": "ROOT",
        "id": 40,
        "state": "active",
        "avatar_url": null,
        "created_at": "2014-12-17T14:40:52.000+09:00",
        "is_admin": true,
        "bio": null,
        "skype": "",
        "linkedin": "",
        "twitter": "",
        "website_url": "",
        "email": "root@alm.com",
        "theme_id": 2,
        "color_scheme_id": 1,
        "extern_uid": null,
        "provider": null,
        "projects_limit": 100,
        "can_create_group": false,
        "can_create_project": true
    },
    {
    ....

我的Spring集成程序如下所示。我引用了链接。我从标题收到的标题中没有标题值。

<int-http:outbound-gateway 
        id="http-outbound-gateway"
        auto-startup="true" 
        http-method="GET" 
        charset="UTF-8"
        request-channel="redca-gitlab-request-prepare-channel"
        reply-channel="redca-hub-gitlab-response-channel"
        url="{gitlab.url}{gitlab.data.type}?private_token={gitlab.private.token}">
         <int-http:uri-variable name="gitlab.url" expression="headers['gitlab.url']"/>  
         <int-http:uri-variable name="gitlab.data.type" expression="headers['gitlab.data.type']"/>
         <int-http:uri-variable name="gitlab.private.token" expression="headers['gitlab.private.token']"/>
    </int-http:outbound-gateway> 

    <int:chain input-channel="redca-hub-gitlab-response-channel"  output-channel="redca-output-channel">
        <int:header-enricher>
            <int:header name="json__TypeId__" expression="headers['x-json__TypeId__']" />
        </int:header-enricher>
        <int:json-to-object-transformer object-mapper="mapper"></int:json-to-object-transformer>
    </int:chain>



    <bean id="mapper" class="org.springframework.integration.support.json.Jackson2JsonObjectMapper">
</bean>

共有1个答案

江超英
2023-03-14

我没有看到x-json__TypeId___头——链接的问题是与Spring集成HTTP服务器对话并传送头,而不是与外部HTTP服务对话。

因为没有标题,所以需要告诉

<json-to-object-converter type="java.util.HashMap" />

(如果已经设置了jackson映射,也可以使用某些域对象)。

 类似资料:
  • 我见过类似问题的部分答案,但从来没有真正解决问题的答案。我把它简化成一个最小的应用程序来演示这个问题。 我使用的是最新版本的Android Studio(v2.2.1),我安装了以下SDK: > Android SDK Tools v25.1.6 Android SDK平台-Tools v23.1 Android SDK Build-tools v23.0.3 Android支持存储库v32 >

  • 我能看到周围有什么工作示例吗?我从这里下载了这个http://www.it-jw.com/grails/birt-report-test_0.5.ziphttp://grails.org/plugin/birt-report 却一直给我错误 "错误无法解析依赖项" .当我浏览http://repo1.maven.org/maven2/org/它说: 已禁用浏览此目录。改为在 http://sear

  • 我使用解析后端。我试图将我的应用程序与Facebook集成。我下面的教程parse.com.然而,当我尝试设置登录使用Facebook,我开始有问题。在教程中,给出了这段小代码: 然而,当我在应用程序中复制这段代码时,我得到一个错误,上面写着“无法解析符号‘logInWithReadPermissionsInBackground’”。当我在Android studio中打开ParseFaceboo

  • 我已经使用以下Github存储库设置了Spring boot工作区:https://Github.com/leanstacks/spring-boot-fundaments/tree/repository 非常感谢任何建议/反馈。

  • 最近,我更新了Android Studio和 SDK。在重建我的应用程序项目时,我遇到以下错误... > < li> 哪里出错:配置项目时出现问题:app。 无法解析配置“:app:_debugCompile”的所有依赖项。找不到技术支持:appcompat-v7:23.0.0.在以下位置搜索:https://jcenter.bintray.com/com/android/support/appc

  • null IntelliJ查找JavaFX包的源代码。我可以研究JavaFX代码。但是为什么不能编译和运行呢?