当前,我正在使用字符串连接来构建网址。
String url = "http://localhost:8080/bo/" + docId;
HttpEntity<String> httpEntity = this.handleJWT();
restTemplate
.exchange(
url,
HttpMethod.DELETE,
httpEntity,
Void.class
);
使用Java构建Rest URL是否更优雅?
答案 0 :(得分:2)
您可以这样操作:
String url = "http://localhost:8080/bo/{docId}";
restTemplate
.exchange(
url,
HttpMethod.DELETE,
httpEntity,
Void.class,
docId
);
答案 1 :(得分:2)
您也可以使用UriComponentsBuiler
String url = "http://localhost:8080/bo/{docId}"
UriComponentsBuilder
.fromHttpUrl(url)
.buildAndExpand(docId)
.toUriString();
并且应该从属性中插入url。
答案 2 :(得分:0)
是的,有。绝对不建议像您一样对URL进行硬编码。
Spring Boot Rest允许您通过诸如@RequestMapping
之类的注释将请求映射到URL。
在您的情况下,带有@RestController
注释的类中的方法签名可能像这样:
@RequestMapping(value = "/bo/{docId}", method = RequestMethod.DELETE)
public void request(@PathVariable("docId") int docId){
...
}
例如在浏览器中输入localhost:8080 / bo / 123会导致方法调用以“ 123”作为传递的参数。
使用此布局,您可以非常方便地触发方法调用。我建议您阅读本Spring Boot Rest教程。 它提供了一个很好的起点,说明如何通过平稳的交互来正确设置Spring Boot应用程序。