Рекомендации по сопоставлению конечных точек API Spring Boot REST - PullRequest
0 голосов
/ 26 июня 2018

Я использую приведенное ниже сопоставление URL-адресов конечной точки с методами HTTP, такими как (POST, DELETE, GET, PUT)

POST для создания новой сделки -

@PostMapping("/trade")

DELETE для удаления сделкис определенным идентификатором -

@DeleteMapping("/trade/{id}")

GET для получения подробной информации о конкретной сделке -

@GetMapping("/trade/{id}")

PUT для обновления подробностей сделки -

@PutMapping(“/trade/{id}”)

GET для получения всей сделкисписок коллекции -

@GetMapping("/trades")

если я что-то здесь упустил Пожалуйста, предложите

Ответы [ 2 ]

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

для управления версиями я могу использовать ниже любой подход

1. Через путь URI - вы включаете номер версии в путь URL конечной точки, например, / api / v1 / trade. 2. Через параметры запроса - вы передаете номер версии в качестве параметра запроса с указанным именем, например, / api / trade? Version = 1. 3. Через пользовательские заголовки HTTP - вы определяете новый заголовок, который содержит номер версии в запросе. 4. Через согласование содержимого - номер версии включается в заголовок «Принять» вместе с принятым типом содержимого.
1) сопоставление URL-адресов Версия 1: -

`http://localhost:8080/v1/trade`

Версия 2: -

 `http://localhost:8080/v2/trade`



 @RestController
public class TradeController {

  @GetMapping("v1/trade")
  public Trade tradeVersionOne() {
    return new Trade("123","Trade Result");
  }

  @GetMapping("v2/trade")
  public Trade tradeVersionTwo() {
    return new Trade(new RealTimeTrade("123", "Real Time Trade Result"));
  }

2) Использование параметров запроса в URL Версия 1: - http://localhost:8080/trade/param?version=1

Версия 2: - http://localhost:8080/trade/param?version=2

@RestController
public class TradeController {

  @GetMapping("v1/trade" params = "version=1")
  public Trade tradeVersionOne() {
    return new Trade("123","Trade Result");
  }

  @GetMapping("v2/trade" params = "version=2")
  public Trade tradeVersionTwo() {
    return new Trade(new RealTimeTrade("123", "Real Time Trade Result"));
  }
 }
0 голосов
/ 26 июня 2018

Добавить версию API, например

@RestController
@RequestMapping("/API/V1")
public class TestController {

@RequestMapping("/greeting")
    public String greeting( {
        return "welcome";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...