【问题标题】:Changing endpoint but want to keep old endpoint更改端点但想保留旧端点
【发布时间】:2022-11-19 03:16:09
【问题描述】:

我们有一些我们想要更改的端点,但仍希望继续使用旧端点一段时间。

示例:当前端点:/download -> 新端点:/document/download。我们想同时使用两者。

端点在类中定义。 当前的:

class Endpoints {
  public static final DOCUMENT_HOME = "/home";
  public static final DOWNLOAD = "/download";
}

@RequestMapping(Endpoints.DOCUMENT_HOME)
class DocumentController {
  @GetMapping(value = Endpoints.DOWNLOAD)
  public void download();
}

新的:

class Endpoints {
  public static final DOCUMENT_HOME = "/home/document";
  public static final DOWNLOAD = "/download";
}

@RequestMapping(Endpoints.DOCUMENT_HOME)
class DocumentController {
  @GetMapping(value = Endpoints.DOWNLOAD)
  public void download();
}

【问题讨论】:

  • 你可以说得更详细点吗?你不能再添加一个 GET 请求吗?

标签: java spring spring-boot rest


【解决方案1】:

如果你想使用两个端点,那么编写这样的代码。



class Endpoints {
  public static final DOCUMENT_HOME = "/home";
  public static final DOWNLOAD = "/download";
  public static final DOCUMENT = “/document”;
}

@RequestMapping(Endpoints.DOCUMENT_HOME)
class DocumentController {
  @GetMapping(value = Endpoints.DOWNLOAD)
  public void downloadV1();

   @GetMapping(value = Endpoints.DOCUMENT + Endpoints.DOWNLOAD)
  public void downloadV2();

  
}

【讨论】:

    【解决方案2】:

    我不知道你的请求有多大意义,但你可以通过做这样的事情来使用它。

    @GetMapping({"/public/v1/oldEndPoint/{id}", "/private/v1/newEndPoint/{id}"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多