406 Spring MVC Json,根据请求“接受”标头不可接受

AKB

在我的pom.xml中有以下详细信息

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.13</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-extras</artifactId>
        <version>3.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-core</artifactId>
        <version>3.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring-framework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1</version>
    </dependency>

application-config.xml:

<context:component-scan base-package="com.test" />
<mvc:annotation-driven />
<!-- <mvc:default-servlet-handler /> -->
<mvc:resources mapping="/resources/**" location="/resources/" />

JSP页面:

 <form:form method="POST" action="/QuickBooks-UX/syncAccounts">
        <input type="submit" value="Sync Account"/>
 </form:form>

控制器:

@Controller
@RequestMapping("/")
public class QuickBooksController {
    @RequestMapping(value = "/quickBooks", method = RequestMethod.GET)
    public String qucikBooks(ModelMap model) {
        logger.info("Welcome to QuickBooks controller");
        model.addAttribute("message", "Hello Spring MVC Framework!");
        return "quickBooks";
    }
    @RequestMapping(value ="/syncAccounts", method = RequestMethod.POST)
    public @ResponseBody List<SyncData> syncAccounts(@ModelAttribute("syncData")SyncData syncData, ModelMap model, BindingResult result) {
          List<SyncData> syncDataList = new ArrayList<SyncData>();
          try {

                DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpGet getRequest = new HttpGet(
                    "http://localhost:8292/qbsyncdata/getAccounts");
                getRequest.addHeader("accept", "application/json");

                HttpResponse response = httpClient.execute(getRequest);
                if (response.getStatusLine().getStatusCode() != 200) {
                    throw new RuntimeException("Failed : HTTP error code : "
                       + response.getStatusLine().getStatusCode());
                }
                BufferedReader br = new BufferedReader(
                                 new InputStreamReader((response.getEntity().getContent())));                   
                while ((output = br.readLine()) != null) {
                    JSONParser jsonParser = new JSONParser();
                    JSONArray jsonArray = (JSONArray)jsonParser.parse(output);
                    for (Object object : jsonArray) {
                        JSONObject jsonObject = (JSONObject)object;
                        syncData = new SyncData();
                        syncData.setAccountName(jsonObject.get("accountName")==null?"":jsonObject.get("accountName").toString());
                        syncData.setAccountType(jsonObject.get("accountType")==null?"":jsonObject.get("accountType").toString());
                        syncData.setAccountSubType(jsonObject.get("accountSubType")==null?"":jsonObject.get("accountSubType").toString());
                        syncData.setActive(jsonObject.get("active")==null?"":jsonObject.get("active").toString());
                        syncDataList.add(syncData);
                    }                   
                    model.addAttribute("syncData", output);
                }
                httpClient.getConnectionManager().shutdown();
              } catch (Exception e) {
                e.printStackTrace();
              } 
            }
         return syncDataList;
    }
}

我将我的网址调用为:

http://lt-50k7sy1:8080/QuickBooks-UX/quickBooks

单击按钮后,它返回url,因为http://lt-50k7sy1:8080/QuickBooks-UX/syncAccounts它返回406,描述为:

该请求标识的资源只能根据请求“接受”标头生成特性不可接受的响应

我关注了此链接,但没有结果。

技术发现

将以下jar添加到Spring 4.1。*所需的pom.xml文件中。

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.4.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.1.1</version>
</dependency>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring 4 RestController JSON:根据请求“ accept”标头不可接受的特征

来自分类Dev

Spring 4 RestController JSON:根据请求“ accept”标头不可接受的特征

来自分类Dev

406中的spring 4 ajax响应不可接受

来自分类Dev

Spring 4.0.x JSON / Ajax HTTP / 1.1 406不可接受

来自分类Dev

错误406无法接受的Spring MVC 4 Extjs5 JSON响应

来自分类Dev

Spring @ RestController,spring-boot发生意外错误(类型=不可接受,状态= 406)

来自分类Dev

ASP.NET MVC-406在返回View()时不可接受

来自分类Dev

Spring MVC仅使用ContentNegotiationManagerFactoryBean返回json 406

来自分类Dev

HTTP状态406。Spring MVC 4.0,jQuery,JSON

来自分类Dev

HTTP状态406。Spring MVC 4.0,jQuery,JSON

来自分类Dev

Spring MVC仅使用ContentNegotiationManagerFactoryBean返回json 406

来自分类Dev

Spring REST返回PDF-响应状态406(不可接受)

来自分类Dev

Spring 3.2.x:在“ 406不可接受”的情况下跳过控制器方法

来自分类Dev

给定的Spring Rest应用程序中406不可接受的原因是什么?

来自分类Dev

Retrofit2-406不可接受

来自分类Dev

ODataController返回HTTP 406不可接受

来自分类Dev

406仅在Safari中不可接受

来自分类Dev

已完成406不可接受的设计

来自分类Dev

PHP / Apache错误:406不可接受

来自分类Dev

Spring MVC测试框架-JSON端点仅在测试中返回406

来自分类Dev

使用JSON将HTTP 406错误升级到Spring MVC 4.1

来自分类Dev

使用Spring MVC在Ajax响应中获取406错误

来自分类Dev

WebAPI和ODataController返回406不可接受

来自分类Dev

带有Angularjs的导轨4中的406(不可接受)

来自分类Dev

406-不可接受的响应-jQuery AJAX

来自分类Dev

Windows Phone推送通知406不可接受

来自分类Dev

进行Ajax调用时出现406不可接受的错误

来自分类Dev

带angularjs的导轨4中的406(不可接受)

来自分类Dev

Spring 3.1.1和JSON出现错误406

Related 相关文章

  1. 1

    Spring 4 RestController JSON:根据请求“ accept”标头不可接受的特征

  2. 2

    Spring 4 RestController JSON:根据请求“ accept”标头不可接受的特征

  3. 3

    406中的spring 4 ajax响应不可接受

  4. 4

    Spring 4.0.x JSON / Ajax HTTP / 1.1 406不可接受

  5. 5

    错误406无法接受的Spring MVC 4 Extjs5 JSON响应

  6. 6

    Spring @ RestController,spring-boot发生意外错误(类型=不可接受,状态= 406)

  7. 7

    ASP.NET MVC-406在返回View()时不可接受

  8. 8

    Spring MVC仅使用ContentNegotiationManagerFactoryBean返回json 406

  9. 9

    HTTP状态406。Spring MVC 4.0,jQuery,JSON

  10. 10

    HTTP状态406。Spring MVC 4.0,jQuery,JSON

  11. 11

    Spring MVC仅使用ContentNegotiationManagerFactoryBean返回json 406

  12. 12

    Spring REST返回PDF-响应状态406(不可接受)

  13. 13

    Spring 3.2.x:在“ 406不可接受”的情况下跳过控制器方法

  14. 14

    给定的Spring Rest应用程序中406不可接受的原因是什么?

  15. 15

    Retrofit2-406不可接受

  16. 16

    ODataController返回HTTP 406不可接受

  17. 17

    406仅在Safari中不可接受

  18. 18

    已完成406不可接受的设计

  19. 19

    PHP / Apache错误:406不可接受

  20. 20

    Spring MVC测试框架-JSON端点仅在测试中返回406

  21. 21

    使用JSON将HTTP 406错误升级到Spring MVC 4.1

  22. 22

    使用Spring MVC在Ajax响应中获取406错误

  23. 23

    WebAPI和ODataController返回406不可接受

  24. 24

    带有Angularjs的导轨4中的406(不可接受)

  25. 25

    406-不可接受的响应-jQuery AJAX

  26. 26

    Windows Phone推送通知406不可接受

  27. 27

    进行Ajax调用时出现406不可接受的错误

  28. 28

    带angularjs的导轨4中的406(不可接受)

  29. 29

    Spring 3.1.1和JSON出现错误406

热门标签

归档