какую грубую операцию в покое использовать пост или удалить? - PullRequest
0 голосов
/ 28 июня 2018

Я создал банковское приложение, в котором хочу написать службу отдыха для удаления учетной записи. так что для этого нам нужен аккаунт №. для этого я думаю, что по соображениям безопасности я не могу передать номер счета в URL. поэтому я передаю его в теле запроса. Я думаю, что если я попытаюсь использовать его с удалением, он работает нормально, но опять же, это может быть проблемой безопасности. так что в таком случае мне нужно будет использовать сообщение вместо удаления, чтобы я мог передать номер счета в теле запроса?

     @PostMapping("/account")
        public void deleteAccount(@RequestBody @Valid final AccountNoDto accountNoDto) {
            return accountService.deleteAccount(accountNoDto);
        }
or

  @DeleteMapping("/account/{accountNo}")
    public void deleteAccount(@PathVariable Long accountNo) {
        return accountService.deleteAccount(accountNo);
    }

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы должны использовать @DeleteMapping, потому что вы удаляете запись. Глаголы HTTP должны соответствовать тому, что делает функция.

Но не отправляйте номер счета вместе с конечной точкой. Запишите конечную точку как -

@DeleteMapping("/account")

Номер учетной записи должен быть получен в бэкэнде с токена, который вы будете отправлять вместе с запросом. Поэтому все запросы GET, POST, PUT, DELETE будут иметь одинаковые URI, а номер счета будет выбран из токена на бэкэнд Если вы хотите узнать, как это делается весной, прочитайте о SecurityContextHolder class

0 голосов
/ 28 июня 2018

В идеале мы используем @DeleteMapping для операции удаления и @PostMapping для нового создания и обновления данных. Я не думаю, что идентификатор аккаунта - это та конфиденциальная информация, которую нужно раскрыть в URL Вы можете перейти на @ DeleteMapping

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...