在常见的 Spring 和 Angular 应用程序的上下文中,什么是 API?
In the context of a common Spring and Angular application, what is the API?
API 上有大量可用信息。 Guru99 上面有一个 good page。不过,可用的信息非常笼统。我不确定它如何适用于我熟悉的工作。我的工作是我通常使用 Spring 和 Angular.
开发 Web 应用程序
在此上下文中,API 是什么?它是用户输入文本并单击按钮的用户界面吗?是 Spring DispatcherServlet 处理来自前端的传入请求并将它们定向到正确的后端 Spring 控制器方法吗?是 Spring 控制器本身吗?前端服务类中的API是将请求发回后端吗?这些服务 类 将包含使用 rxjs Observables 的方法,如下所示。
Angular
getCards(): Observable<Card[]> {
return this.http.get<Card[]>(this.baseUrl+'cards')
.pipe(catchError(this.handleError<Card[]>('getCards', [])));
}
虽然后端控制器方法看起来像这样:
Spring
@RestController
@RequestMapping("cards")
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class CardControl {
private final CardService cardService;
@GetMapping
public ResponseEntity<List<Card>> getCards(){
List<Card> cards = cardService.findAll();
return new ResponseEntity<>(cards, HttpStatus.OK);
}
}
如果我要对这样的应用程序进行 API 测试,我究竟要测试什么?此测试会发生在后端、前端还是两者?
通常,当我们谈论 API 时(在 Web 应用程序的上下文中),我们通常谈论后端。所以在你的情况下,它将是你的 spring 控制器:
@RestController
@RequestMapping("cards")
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class CardControl {
private final CardService cardService;
@GetMapping
public ResponseEntity<List<Card>> getCards(){
List<Card> cards = cardService.findAll();
return new ResponseEntity<>(cards, HttpStatus.OK);
}
}
因此,如果您要进行 API 测试,您将向后端发送 GET [URL]/cards
请求并确保它 returns 符合您的期望。
有几个工具可用于 API 在您的上下文中进行测试。
- Postman 是一个很好的 UI,您可以在其中轻松定义请求和测试。
- Rest assured 是一个 Java 库,允许您在 Java.
中发送和测试请求
API 上有大量可用信息。 Guru99 上面有一个 good page。不过,可用的信息非常笼统。我不确定它如何适用于我熟悉的工作。我的工作是我通常使用 Spring 和 Angular.
开发 Web 应用程序在此上下文中,API 是什么?它是用户输入文本并单击按钮的用户界面吗?是 Spring DispatcherServlet 处理来自前端的传入请求并将它们定向到正确的后端 Spring 控制器方法吗?是 Spring 控制器本身吗?前端服务类中的API是将请求发回后端吗?这些服务 类 将包含使用 rxjs Observables 的方法,如下所示。
Angular
getCards(): Observable<Card[]> {
return this.http.get<Card[]>(this.baseUrl+'cards')
.pipe(catchError(this.handleError<Card[]>('getCards', [])));
}
虽然后端控制器方法看起来像这样:
Spring
@RestController
@RequestMapping("cards")
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class CardControl {
private final CardService cardService;
@GetMapping
public ResponseEntity<List<Card>> getCards(){
List<Card> cards = cardService.findAll();
return new ResponseEntity<>(cards, HttpStatus.OK);
}
}
如果我要对这样的应用程序进行 API 测试,我究竟要测试什么?此测试会发生在后端、前端还是两者?
通常,当我们谈论 API 时(在 Web 应用程序的上下文中),我们通常谈论后端。所以在你的情况下,它将是你的 spring 控制器:
@RestController
@RequestMapping("cards")
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class CardControl {
private final CardService cardService;
@GetMapping
public ResponseEntity<List<Card>> getCards(){
List<Card> cards = cardService.findAll();
return new ResponseEntity<>(cards, HttpStatus.OK);
}
}
因此,如果您要进行 API 测试,您将向后端发送 GET [URL]/cards
请求并确保它 returns 符合您的期望。
有几个工具可用于 API 在您的上下文中进行测试。
- Postman 是一个很好的 UI,您可以在其中轻松定义请求和测试。
- Rest assured 是一个 Java 库,允许您在 Java. 中发送和测试请求