Spring中有400个错误请求错误

时间:2014-12-13 01:48:12

标签: java json spring rest

我得到这个错误任何想法会导致什么? 我试图发送一个DTO,它有一个扩展抽象类的对象列表。我认为这个问题可能因为DTO中的列表或者抽象类中的子类而存在?

@Autowired
private RestClient restClient;


@Override
public ReceiptDto create_TicketIdentifier_For_Sale(TicketSaleDto tiDto)
        throws ServiceException {

    RestTemplate restTemplate = this.restClient.getRestTemplate();
    String url = this.restClient.createServiceUrl("/ticketIdentifier/");
    HttpHeaders headers = this.restClient.getHttpHeaders();
    //headers.add("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
    HttpEntity<TicketSaleDto> entity = new HttpEntity<>(tiDto, headers);

    ReceiptDto ti = null;
    try {
        ParameterizedTypeReference<ReceiptDto> ref = new ParameterizedTypeReference<ReceiptDto>() {};
        ResponseEntity<ReceiptDto> response = restTemplate.exchange(URI.create(url), HttpMethod.POST, entity, ref);
        ti = response.getBody();
        //  System.out.println(ti.getEntryDto().getReceiptDto().getCustomerDto().getLastname());
    } catch (RestClientException e) {
        e.getStackTrace();
        throw new ServiceException("Could not retrieve ticketIdentifiers: " + e.getMessage());
    }
    return ti;  

2014-12-13T02:21:34,867 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "HTTP/1.1 400 Bad Request[\r][\n]"
2014-12-13T02:21:34,867 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "Date: Sat, 13 Dec 2014 01:21:34 GMT[\r][\n]"
2014-12-13T02:21:34,867 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "Content-Type: text/html; charset=ISO-8859-1[\r][\n]"
2014-12-13T02:21:34,867 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "Cache-Control: must-revalidate,no-cache,no-store[\r][\n]"
2014-12-13T02:21:34,867 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "Content-Length: 316[\r][\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "Server: Jetty(9.2.2.v20140723)[\r][\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "[\r][\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "<html>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "<head>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "<title>Error 400 Bad Request</title>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "</head>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "<body><h2>HTTP ERROR 400</h2>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "<p>Problem accessing /ticketline/ticketIdentifier/. Reason:[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "<pre>    Bad Request</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "</body>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.wire - http-outgoing-0 << "</html>[\n]"
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.headers - http-outgoing-0 << HTTP/1.1 400 Bad Request
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.headers - http-outgoing-0 << Date: Sat, 13 Dec 2014 01:21:34 GMT
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.headers - http-outgoing-0 << Content-Type: text/html; charset=ISO-8859-1
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.headers - http-outgoing-0 << Cache-Control: must-revalidate,no-cache,no-store
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.headers - http-outgoing-0 << Content-Length: 316
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG http.headers - http-outgoing-0 << Server: Jetty(9.2.2.v20140723)
2014-12-13T02:21:34,868 [JavaFX Application Thread] DEBUG execchain.MainClientExec - Connection can be kept alive indefinitely
2014-12-13T02:21:34,868 [JavaFX Application Thread] WARN  client.RestTemplate - POST request for "http://localhost:8080/ticketline/ticketIdentifier/" resulted in 400 (Bad Request); invoking error handler
2014-12-13T02:21:34,868 [JavaFX Application Thread] WARN  client.RestTemplate - POST request for "http://localhost:8080/ticketline/ticketIdentifier/" resulted in 400 (Bad Request); invoking error handler
2014-12-13T02:21:34,870 [JavaFX Application Thread] DEBUG conn.PoolingHttpClientConnectionManager - Connection [id: 0][route: {}->http://localhost:8080] can be kept alive indefinitely
2014-12-13T02:21:34,870 [JavaFX Application Thread] DEBUG conn.PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {}->http://localhost:8080][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
2014-12-13T02:21:34,871 [JavaFX Application Thread] DEBUG controller.TicketingProcessController - Could not retrieve ticketIdentifiers: 400 Bad Request

1 个答案:

答案 0 :(得分:-1)

解决方案就在这里..子类的一些定义解决了我的问题.. http://www.sureshpw.com/2013/09/javajson-polymorphic-mapping-using.html