在Spring中,是否有一种标准的方法可以将一个DELETE请求的请求体传递给REST端点?
在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); HttpEntityentity = new HttpEntity<>(ur); restTemplate.delete(url, entity);
\n我无法控制API本身,因此无法将令牌作为URL参数传递。\n在Spring中有没有办法做到这一点,或者我必须像这个SO答案中描述的那样构建自己的HttpUrlConnection?
在Spring的RestTemplate对象中,有一个exchange方法。该方法有以下参数:
- url:请求的URL
- method:请求的方法,例如HttpMethod.DELETE
- entity:请求的实体(包含要传输的请求体)
- responseType:响应的类型
- objects:其他传递的对象
希望这可以帮到你。
谢谢,我会试一下!
我一直在尝试使用template.exchange(url, HttpMethod.DELETE, requestEntity, String.class) - 但是不起作用 - 服务器看不到请求体,delete(...)方法也不起作用。