Java REST客户端-错误请求(400)-由于语法错误,服务器无法理解该请求

Java REST客户端-错误请求(400)-由于语法错误,服务器无法理解该请求,java,rest,restlet,Java,Rest,Restlet,我试图创建一个JavaREST客户机来使用api。当我尝试从Java客户端调用它时,我得到: 错误请求(400)-服务器无法理解该请求 由于语法错误 问题 我的Rest客户端不完整。我认为jwt令牌在头中设置正确,我只是认为cr.post()调用不正确。也许MediaType是错误的 问题 如何更改Rest客户端以调用服务器并获得预期的响应?另外,如何将响应转换为批准响应 Rest客户端(Java 7): RESTful Api(服务器)(Spring和Java14): POM: org.re

我试图创建一个JavaREST客户机来使用api。当我尝试从Java客户端调用它时,我得到:

错误请求(400)-服务器无法理解该请求 由于语法错误

问题

我的Rest客户端不完整。我认为jwt令牌在头中设置正确,我只是认为
cr.post()
调用不正确。也许
MediaType
是错误的

问题

如何更改Rest客户端以调用服务器并获得预期的响应?另外,如何将
响应
转换为
批准响应

Rest客户端(Java 7):

RESTful Api(服务器)(Spring和Java14):

POM:


org.restlet.jee
org.restlet
2.3.1

响应不是响应,它是表示对象。@antonyh感谢您的评论。是的,您知道为什么会出现
400
错误,以及如何将
表示
对象转换为
批准响应
对象吗?(这就是api返回的结果)。您尝试过ObjectRepresentation吗?谢谢,我会试一试的,文档上说MediaType.APPLICATION\u JAVA\u对象
响应
不是响应,它是
表示
对象。@antonyh谢谢你的评论。是的,您知道为什么会出现
400
错误,以及如何将
表示
对象转换为
批准响应
对象吗?(这就是api返回的结果)。您尝试过ObjectRepresentation吗?谢谢,我会给它一个tryAlso,文档说MediaType.APPLICATION\u JAVA\u OBJECT
import org.restlet.representation.Representation;
import org.restlet.resource.ClientResource;

private static String callSubmitApprovals(String endpointUrl, ApprovalRequest approvalRequest, String token) {
    System.out.println(endpointUrl);
    try {
        ClientResource cr = new ClientResource(endpointUrl);
        ChallengeResponse challengeResponse = new ChallengeResponse(ChallengeScheme.HTTP_OAUTH_BEARER);
        challengeResponse.setRawValue(token);
        cr.setChallengeResponse(challengeResponse);

        Representation response = cr.post(approvalRequest, MediaType.APPLICATION_JAVA);
        System.out.println(response);
        //ApprovalResponse approvalResponse = response;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
@RestController
public class ApprovalSubmitResource {

    @PostMapping("/rest/approvals-submit")
    public ApprovalResponse submit(@RequestHeader(name="Authorization") String token, @RequestBody ApprovalRequest approvalRequest) {
        System.out.println(approvalRequest);
        ApprovalResponse approvalResponse = new ApprovalResponse();
        approvalResponse.setApprovalId("Test approvalResponse from micro service");
        return approvalResponse;
    }
}
    <dependency>
        <groupId>org.restlet.jee</groupId>
        <artifactId>org.restlet</artifactId>
        <version>2.3.1</version>
    </dependency>