我正通过这个角度实现向后端创建HTTP请求。
我首先从' @ angular / common / http'导入{HttpClientModule}来准备app.module。进入app.module然后将其添加到imports数组中,使其可供应用程序的其余部分使用。
然后,我在HttpClient上使用get方法来访问我服务器中的数据 这是游戏计划。
问题是关于确定服务器返回的数据类型。
该组件具有此代码...为了简洁,我剪切了不需要的东西。
@Component(...)
export class MyComponent implements OnInit {
// results: string[]; // I am not sure about this
constructor(private http: HttpClient) {}
ngOnInit(): void {
url = 'http://example.com/authentication/get-username.php';
http
.get<MyJsonData>(url)
.subscribe...
}
我的问题是...... 我应该在哪里打字?在上面的代码中?
多一点背景:
URL返回如下内容:
{"wordpress_username":"admin_joe","user_role":"admin"}
或者如果没有用户登录,则
{"wordpress_username":"","user_role":""}
现在,在这里,我们得到了一个类似{&#34; x&#34;:&#34; y&#34;,&#34; j&#34;:&#34; k&#34;}的格式 这是一个json字符串。但是,它也是一个对象
这就是我的困惑开始的地方。
为此构建接口会更好吗? 如果是这样,界面会是什么样的?
答案 0 :(得分:1)
使用Typescript
首选其强类型也适用于Typescript级别。最好有一个类型。
在这两种情况下,您都拥有相同形状的对象,其中包含两个属性wordpress_username
和user_role
。您的界面可能如下所示
export interface MyJsonData {
wordpress_username: string,
user_role: string
}
此外,如果您只能使用一个属性进行回复,则可以在属性名称末尾添加?
作为可选项
export interface MyJsonData {
wordpress_username?: string,
user_role?: string
}