apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseController.java/ReleaseController/rollback
class ReleaseController:  @Transactional
  @PutMapping("/releases/{releaseId}/rollback")
  public void rollback(@PathVariable("releaseId") long releaseId,
                       @RequestParam(name="toReleaseId", defaultValue = "-1") long toReleaseId,
                       @RequestParam("operator") String operator) {

    Release release;
    if (toReleaseId > -1) {
      release = releaseService.rollbackTo(releaseId, toReleaseId, operator);
    } else {
      release = releaseService.rollback(releaseId, operator);
    }

    String appId = release.getAppId();
    String clusterName = release.getClusterName();
    String namespaceName = release.getNamespaceName();
    //send release message
    messageSender.sendMessage(ReleaseMessageKeyGenerator.generate(appId, clusterName, namespaceName),
                              Topics.APOLLO_RELEASE_TOPIC);
  }