Java 从存储库中删除项目的 http delete 请求
Java http delete request to delete an item from a repository
我正在尝试创建 java
代码以使用项目 ID 从 spring boot
服务器的存储库中删除项目。
我的服务器代码:
@DeleteMapping("/deleteUser/{id}")
public void deleteUser(@PathVariable Long id){
userRepository.deleteById(id);
}
Java 连接服务器的客户端代码:
URL url = new URL("http://localhost:1234/deleteUser");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("DELETE");
conn.setRequestProperty("Content-Type", "application/json");
对于 get
和 post
的其他请求,我会使用输出流写入服务器,但我不确定发送需要删除的 ID 的确切代码到服务器
因为id
是一个路径变量,你必须把它作为一个传递。例如:
http://localhost:1234/deleteUser/42
我建议您使用 Spring 的 RestTemplate
,它提供 RestTemplate#delete(String url, Map<String, ?> uriVariables)
method:
new RestTemplate().delete("http://localhost:1234/deleteUser/{id}", Collections.singletonMap("id", 42));
您可以像这样使用 WebTesClient :
@Autowired
protected WebTestClient webTestClient;
webTestClient.delete()
.uri("http://localhost:1234/deleteUser/{id}", YOUR_ID)
.exchange()
.expectStatus().isOk();
不要忘记添加 webflux
依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<scope>test</scope>
</dependency>
我正在尝试创建 java
代码以使用项目 ID 从 spring boot
服务器的存储库中删除项目。
我的服务器代码:
@DeleteMapping("/deleteUser/{id}")
public void deleteUser(@PathVariable Long id){
userRepository.deleteById(id);
}
Java 连接服务器的客户端代码:
URL url = new URL("http://localhost:1234/deleteUser");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("DELETE");
conn.setRequestProperty("Content-Type", "application/json");
对于 get
和 post
的其他请求,我会使用输出流写入服务器,但我不确定发送需要删除的 ID 的确切代码到服务器
因为id
是一个路径变量,你必须把它作为一个传递。例如:
http://localhost:1234/deleteUser/42
我建议您使用 Spring 的 RestTemplate
,它提供 RestTemplate#delete(String url, Map<String, ?> uriVariables)
method:
new RestTemplate().delete("http://localhost:1234/deleteUser/{id}", Collections.singletonMap("id", 42));
您可以像这样使用 WebTesClient :
@Autowired
protected WebTestClient webTestClient;
webTestClient.delete()
.uri("http://localhost:1234/deleteUser/{id}", YOUR_ID)
.exchange()
.expectStatus().isOk();
不要忘记添加 webflux
依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<scope>test</scope>
</dependency>