Angular 4アプリから[POST] RESTサービスを呼び出す必要があります。残りのサービスでは、リクエストの本文にJSONが必要です。角4 - JSONをモデルにマップする(逆も同様)
私はいくつかのユーザ入力に基づいて、角度に構築していますJSONは私のコードで
{
"val-type": "prop",
"val-name": "prop1",
"op-ter": "DIFF",
"value": "Unknown",
"match-twice": false,
"case-sensitive": false
}
ようになり、私は私が私ができる期待していた
let jsonSubpart = {
"val-type": userInput.valtype,
"val-name": userInput.valname,
"op-ter": userInput.opter,
"value": userInput.val,
"match-twice": false,
"case-sensitive": false
}
として、このJSONを作成しておりますjson構造が確実に守られるように、この構造のモデルを作成します。 JSONを構築するときに、私は先に行って、
export class SubPart {
public valType: string;
public valName: string;
public opTer: string;
public value: string;
public matchTwice: boolean = false;
public caseSensitive: boolean = false;
constructor(valType: string, valName: string, opTer: string, value: string,
matchTwice: boolean, caseSensitive: boolean) {
this.valType=valType;
this.valName= valName;
this.opTer=opTer;
this.value = value;
this.matchTwice=matchTwice;
this.caseSensitive = caseSensitive;
}
}
以下のようにmodel.tsファイルを作成する私の考えでは、このモデルを使用していた -
import { Subpart} from './subpart.model.ts';
let jsonSubpart: Subpart = {
"val-type": userInput.valtype,
"val-name": userInput.valname,
"op-ter": userInput.opter,
"value": userInput.val,
"match-twice": false,
"case-sensitive": false
}
しかし、これはと動作しません。 jsonのクラス名とクラスのフィールド名が一致しません。したがって、angleはval型がvalTypeと同じであることを知らないでしょう。 .tsファイルの変数名は、 ' - 'のために有効な変数名ではないため、val型として保持することはできません。
このようなシナリオでは、何が最善のアプローチですか?私はクラスについて心配することなくjsonを構築すべきか、この種の強い型付けを得る別の方法がありますか?