@Requestbody与@Responsebody

@RequestBody

efeito: 

      i) Esta anotação é utilizada para ler os dados da parte do corpo da requisição Request, utilizar o HttpMessageConverter configurado pelo sistema para analisá-lo, e então vincular os dados correspondentes ao objeto a ser retornado;

      ii) Em seguida, vincule os dados do objeto retornados por HttpMessageConverter aos parâmetros do método no controlador.

Quando usar:

A) Ao usar GET ou POST, julgue de acordo com o valor do tipo de conteúdo do cabeçalho da solicitação:

  •     application/x-www-form-urlencoded, opcional (ou seja, não obrigatório, pois os dados neste caso @RequestParam, @ModelAttribute também podem ser processados, claro que @RequestBody também pode ser processado);
  •     multipart/form-data, não pode ser processado (isto é, dados neste formato não podem ser processados ​​usando @RequestBody);
  •     Outros formatos devem ser usados ​​(outros formatos incluem application/json, application/xml, etc. Os dados nesses formatos devem ser processados ​​usando @RequestBody);

B) Ao enviar via PUT, julgue de acordo com o valor do cabeçalho da solicitação Content-Type:

  •     application/x-www-form-urlencoded, obrigatório;
  •     multipart/form-data, não pode manipular;
  •     outros formatos, necessários;

Observação: o formato de codificação de dados da parte do corpo da solicitação é especificado pelo Content-Type da parte do cabeçalho;

@ResponseBody

efeito: 

      Essa anotação é usada para converter o objeto retornado pelo método Controller no formato especificado por meio de um HttpMessageConverter apropriado e, em seguida, gravá-lo na área de dados do corpo do objeto Response.

Quando usar:

      É usado quando os dados retornados não são uma página com tags html, mas dados em algum outro formato (como json, xml, etc.);

Guess you like

Origin blog.csdn.net/weixin_53630942/article/details/124617342