在Spring中,是否有一种标准的方法可以将一个DELETE请求的请求体传递给REST端点?

8 浏览
0 Comments

在Spring中,是否有一种标准的方法可以将一个DELETE请求的请求体传递给REST端点?

我正在为现有的REST API实现一个Spring客户端,并且需要在调用DELETE时同时将访问令牌传递到请求体中,像这样:\n{\n \"access_token\": \"...\"\n}\n\n问题是,使用对POST有效的方法时,传输的请求体是空的(我已经拦截了请求体并确认),没有这个访问令牌我无法被授权。我正在做以下操作:\n

RestTemplate restTemplate = new RestTemplate();
UserRequest ur = new UserRequest(access_token);
HttpEntity entity = new HttpEntity<>(ur);
restTemplate.delete(url, entity);

\n我无法控制API本身,因此无法将令牌作为URL参数传递。\n在Spring中有没有办法做到这一点,或者我必须像这个SO答案中描述的那样构建自己的HttpUrlConnection?

0
0 Comments

在Spring的RestTemplate对象中,有一个exchange方法。该方法有以下参数:

- url:请求的URL

- method:请求的方法,例如HttpMethod.DELETE

- entity:请求的实体(包含要传输的请求体)

- responseType:响应的类型

- objects:其他传递的对象

希望这可以帮到你。

谢谢,我会试一下!

我一直在尝试使用template.exchange(url, HttpMethod.DELETE, requestEntity, String.class) - 但是不起作用 - 服务器看不到请求体,delete(...)方法也不起作用。

0