javascript - 如何在 angular-httpclient 中映射请求参数字段?
问题描述
我有一个 Angular 项目,它有一个用户注册表单,它创建以下注册对象,然后将其传递到注册服务中。但是,服务请求参数是 underscore_cased。在发送 http 请求之前,如何将 firstName 和 lastName 重新映射到 first_name 和 last_name?
export class Registration {
email: string;
firstName: string;
lastName: string;
}
register(registration: Registration) {
console.log('Registration submitted', registration);
return this.http.post(`${environment.authUrl}/auth/register`, registration).pipe(
catchError(err => {
console.log('Handling error locally and rethrowing it...', err);
return throwError(err);
})
);
}
解决方案
您可以使用所需的键名创建一个新对象,并使用注册对象的值初始化该新创建的对象。
register(registration: Registration) {
const registerUserObject = {
'first_name' : registration.firstName,
'last_name' : registration.lastName,
'email' : registration.email
} ;
return this.http.post(`${environment.authUrl}/auth/register`, registerUserObject).pipe(...);
}
推荐阅读
- android - 如何将 Unity 与 android 本机库连接起来?
- javascript - 组件不会在状态更改时重新渲染
- c# - 为什么我没有在 Json 响应中获得访问令牌和其他属性
- java - 休息模板 | 读取未知的 ENUM 值作为默认值
- php - 减少包之间耦合的钩子或事件
- python - Python 多处理 - freeze_support() 错误
- django - PostGIS 和 Django 的 Docker 连接错误
- r - R中的字符串匹配和操作
- ios - 如何禁用 vpn 连接循环?
- javascript - 通过 DataTables.net 分页的图像和标题