首页 > 解决方案 > 如何创建在打字稿中返回布尔值的 API?

问题描述

我需要创建一个在 typescript 中返回布尔值的 API,但我不清楚如何实现它,请帮帮忙。所以我的后端功能是:

/**
 * @param appIdToSearch .
 * @param userAuthenticated .
 * @return Boolean
 */
@GetMapping(value = "/api/catalog/{appIdToSearch}/review/verify_user_have_review", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<Boolean> verifyUserHaveReviewToApp(@PathVariable Integer appIdToSearch, Authentication userAuthenticated)
{
    try
    {
        return ResponseEntity.ok(appReviewService.verifyUserHaveReviewToApp(appIdToSearch, userAuthenticated));
    }
    catch (Exception e)
    {
        logger.warn("[verifyUserHaveReviewToApp] [STATUS] - ERROR ");
        logger.warn("[verifyUserHaveReviewToApp] [EXCEPTION] " + e.getMessage());
        return ResponseEntity.badRequest().body(null);
    }
}

现在我需要在我的前端调用它

我做了这样的事情

  verifyUserHaveReviewToApp(appIdToSearch: number | string): Observable<boolean> {
    return this.http.get<boolean>(this.userHaveReviewToAppUrl.replace(':appIdToSearch:', String(appIdToSearch)))
      .pipe(
        map((res) => {
          return res;
        }),
      );
  }

userHaveReviewToAppUrl = '/api/catalog/:appIdToSearch:/review/verify_user_have_review';

但它不起作用,而且我没有收到任何错误,但由于我正在调试,我在后端的 API 没有被调用,有人可以帮我吗?

标签: typescript

解决方案


确保订阅您的 Observable。除非您有订阅者,否则代码将不会被执行。

youServiceName.verifyUserHaveReviewToApp().subscribe()

推荐阅读