apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemController.java/ItemController/createComment
class ItemController:  @PostMapping("/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/comment_items")
  public ItemDTO createComment(@PathVariable("appId") String appId,
                        @PathVariable("clusterName") String clusterName,
                        @PathVariable("namespaceName") String namespaceName, @RequestBody ItemDTO dto) {
    if (!StringUtils.isBlank(dto.getKey()) || !StringUtils.isBlank(dto.getValue())) {
      throw new BadRequestException("Comment item's key or value should be blank.");
    }
    if (StringUtils.isBlank(dto.getComment())) {
      throw new BadRequestException("Comment item's comment should not be blank.");
    }

    // check if comment existed
    List<Item> allItems = itemService.findItemsWithOrdered(appId, clusterName, namespaceName);
    for (Item item : allItems) {
      if (StringUtils.isBlank(item.getKey()) && StringUtils.isBlank(item.getValue()) &&
          Objects.equals(item.getComment(), dto.getComment())) {
        return BeanUtils.transform(ItemDTO.class, item);
      }
    }

    Item entity = BeanUtils.transform(Item.class, dto);
    entity = itemService.saveComment(entity);

    return BeanUtils.transform(ItemDTO.class, entity);
  }