Чтобы установить http-код 412 (PRECONDITION_FAILED) и отменить запросы типа POST, PUT и DELETE одновременно, можно использовать следующий пример кода в Spring Framework:
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@RestController
@RequestMapping("/api")
public class MyController {
@PostMapping("/example")
public ResponseEntity<String> examplePost(
@RequestBody String requestBody) {
return new ResponseEntity<>("POST request is not allowed", HttpStatus.PRECONDITION_FAILED);
}
@PutMapping("/example")
public ResponseEntity<String> examplePut(
@RequestBody String requestBody) {
return new ResponseEntity<>("PUT request is not allowed", HttpStatus.PRECONDITION_FAILED);
}
@DeleteMapping("/example")
public ResponseEntity<String> exampleDelete() {
return new ResponseEntity<>("DELETE request is not allowed", HttpStatus.PRECONDITION_FAILED);
}
}
```
В этом примере используются аннотации `@PostMapping`, `@PutMapping` и `@DeleteMapping` для определения соответственно POST, PUT и DELETE запросов. Методы принимают аргументы с помощью аннотации `@RequestBody`, что позволяет получить тело запроса. Затем возвращается объект `ResponseEntity` с указанием текста ошибки и статуса PRECONDITION_FAILED.
Таким образом, когда клиент отправляет POST, PUT или DELETE запросы на `/api/example`, он получит ответ с http-кодом 412 и текстом ошибки возвращаемым на сервере.