Eu tenho um ponto final na inicialização mola que consome este JSON como um exemplo:
{
"userId": 3,
"postBody": "This is the body of a post",
"postTitle": "This is the title of a post",
"created": null,
"tagList": ["tag1", "tag2", "tag3"]
}
O endpoint:
@RequestMapping(value="/newPost", method = RequestMethod.POST, produces="application/json", consumes = "application/json")
@ResponseBody
public ResponseEntity newPost(@RequestBody Map<String, Object> body) throws Exception {
Eu sei que a questão aqui é o corpo solicitação está sendo guardado como um Mapa de objetos que é bom para todos os outros atributos, exceto o taglist. Como posso obter taglist ser um array de strings em Java?
Obrigado.
A mixutre das respostas de Ankur e Jose resolvido isso, obrigado pelas respostas caras rápidos!
Você provavelmente deve criar uma classe Java que representa a entrada JSON e usá-lo no método newPost(.....)
. Por exemplo:-
public class UserPostInfo {
private int userId;
private String postBody;
private String postTitle;
private Date created;
private List<String> tagList;
}
Além disso, incluem os métodos apanhador / definidor nesta classe. Se você deseja modificar o comportamento de JSON de análise, você pode usar anotações para alterar nomes de campos, incluem apenas os valores não nulos, e coisas como esta.