从 POST 请求中获取带有空字段的 DTO

Getting a DTO with null fields from POST request

我想知道为什么我从前端应用程序 (Angular) 得到一个 DTO object,其中包含空字段,

前台调用

public saveFoo(foo: Foo): Observable<Foo> {
    return this.http.post<Foo>(API_ROOT_URL + "/foos/", foo})
}

后处理

@PostMapping("/foos/")
public ResponseEntity<FooDto> createFoo(@RequestBody FooDto fooDto) {
   return ResponseEntity.ok(FooService.saveFoo(FooDto));
}

我尝试添加一些 json 类型 headers(如此处建议 )但徒劳无功:

{
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json'
}

我发现了问题:我前面的 DTO 字段是错误的,与 RequestBody 对象类型不匹配。

我的 IDE (IntelliJ) 在生成 getter 和 setter 后自动在每个字段的开头添加下划线“_”:

export class FooClass{

  private _foo: string;

  get foo(): string {
    return this._foo;
  }

  set foo(value: string) {
    this._foo= value;
  }
}