使用http.get请求传递正文

时间:2018-05-13 02:53:07

标签: java angular spring-boot

我在Angular IO中有一个应用程序,它是Java服务的客户端。 我有一个搜索,我希望通过许多搜索条件。然后我为此创建了一个对象。

export class CriteriosPesquisa{
    public opcaoSelecionada: string;
    public diaDe: Date;
    public diaAte: Date;
    public numNfe: string;
}

当我进行搜索时,我将请求的主体中的对象传递给Get。 (我将在一个网格中显示的结果)显然我的问题是因为我正在使用GET身体。

public getNfes(criterios: CriteriosPesquisa): Observable<Array<Nfe>>{
    const myHeaders = new Headers();
    myHeaders.append('Content-Type', 'application/json');
    // const myParams = new URLSearchParams();
    // myParams.append('criterios', criterios);
    const options = new RequestOptions({ headers: myHeaders, /*search: myParams,*/ body: JSON.stringify(criterios) });

    return this._http.request(`${URL_API}nfes`, options)
      .map(response => {
        return response.json();
      });
  }
  

2018-05-12 23:34:19.740 WARN 1076 --- [nio-8080-exec-6]   .w.s.m.s.DefaultHandlerExceptionResolver:无法读取HTTP   信息:   org.springframework.http.converter.HttpMessageNotReadableException:   缺少必需的请求正文:public   java.util.List中   br.com.minhasCompras.service.NfeService.buscarNfe(br.com.minhasCompras.eo.Criterios)

@RequestMapping(value = "/nfes")
public List<Nfe> buscarNfe(@RequestBody Criterios criterios){

    System.out.println(criterios.getOpcaoSelecionada());
    System.out.println(criterios.getNumNfe());
    System.out.println(criterios.getDiaAte());
    System.out.println(criterios.getDiaDe());

    return new ArrayList<Nfe>();
}

你知道这件事吗?我如何使用GET为我的客户传递一个对象?

0 个答案:

没有答案