当前位置: 首页 > 知识库问答 >
问题:

如何使用TypeScript验证与Axios GET response的接口

薄腾
2023-03-14

数据正在从API成功返回。这是我第一次使用TypeScript调用API。我遇到的问题是,我不确定我的接口是否成功验证了应用编程接口数据。

const App = () => {
  const [userData, setUserData] = useState<User[]>([])
  console.log('User data: ', userData);

  useEffect(() => {
    axios
      .get<User[]>('https://jsonplaceholder.typicode.com/users')
      .then((response) => {
        setUserData(response.data)
      })
      .catch(error => console.log(error.message))
  }, [])

  return ...
};

export default App;

这是我的界面

export interface User {
  id: number,
  name: string,
  username: string,
  email: string,
  address: Address,
  phone: string,
  website: string,
  company: Company,
}

export interface Address {
  street: string,
  suite: string,
  city: string,
  zipcode: string,
  geo: Geolocation,
}

export interface Geolocation {
  lat: string,
  lng: string,
}

export interface Company {
  name: string,
  catchPhrase: string,
  bs: string,
}

共有1个答案

宗政燕七
2023-03-14

如果你不确定你的道具在接口是否有数据。可以使用此语法接口your_interface_name{your_props_name?:type_data}

导出接口地理位置{lat?: string, lng?: string,}

 类似资料:
  • 我有一个Express API服务器应用程序和一个React客户端应用程序,都是用Typescript实现的。我使用TypeScript接口定义了我的数据模型,我在系统的两端都使用这些接口。但是,TypeScript接口只是编译时特性,我还需要运行时类型检查,例如验证HTTP POST数据(json)是否符合定义的数据结构。

  • 我做错了什么?

  • 问题内容: 我们页面上的某些链接使用target =“ _ blank”在新窗口中打开。如何使selenium在正确的窗口中显示,以便可以验证页面是否链接到正确的页面? 这是我一直在尝试的方法: 问题答案: 您不需要将参数传递给selectWindow。浏览器将自动为您提供新的窗口焦点,您只需要告诉硒它已更改。还要确保在验证任何内容之前给新窗口足够的时间来实际加载:

  • Typescript在这行抱怨道: 我得到这个错误: 因为postId被接收为<code>req.params。postId</code>它是string类型,所以我将其转换为mongoose objectId,但仍然有相同的错误: pull() 在猫鼬数组中工作。这行代码是我在javacsript中实现的。我正在将我的项目转换为打字稿。这是用户模型的用户界面和架构。 这里发布架构和界面

  • 5.2 使用Spring的验证器接口进行验证 {#toc_2} Spring具有一个Validator接口可以让你用于验证对象。Validator接口在工作时需要使用一个Errors对象,以便于在验证过程中,验证器可以将验证失败的信息报告给这个Errors对象。 让我们考虑一个小的数据对象: public class Person { private String name; p

  • 我见过类似这样的相关问题,但它们都假设类和接口的区别在于类可以实例化,而接口不能。然而,以@types/google.maps为例,例如: 接口和类: 延伸其他对象 具有属性 具有方法/功能 无法从这些定义直接实例化 在google maps代码中的某个地方,实际上有一个类用于这里定义的< code >类和这里定义的< code >接口。看起来类定义是用户可以实例化的,而不是库可以内部实例化的(接