2016-05-21 9 views
1

Ich habe this tutorial gefolgt, um eine REST API mit Spring Boot zu erstellen. Ich habe es ausgeführt und reagiere auf meine Anrufe, aber es gibt ein Problem mit den angezeigten Informationen. Wenn ich für einen Eintrag fragen, erwarte ich, dass etwas entlang der Linien vonSpring Boot REST API - Probleme beim Anzeigen von Informationen

{ 
"id": 1, 
"name": "petName", 
"photo": "meh", 
"status": "Meh" 
}, 

Aber stattdessen bekomme ich

{ 
"id": 1, 
"photo": "meh", 
"status": "Meh" 
}, 

und ich bin nicht sicher, warum.

RestController

@RestController 
@RequestMapping("/pet") 
class PetRestController { 

private final PetRepo petRepo; 

@RequestMapping(value="/{petId}", method = RequestMethod.GET) 
Pet getPet(@PathVariable Long petId) { 
    return this.petRepo.findOne(petId); 
} 

@RequestMapping(value="/all", method = RequestMethod.GET) 
List<Pet> getPets() { 
    return this.petRepo.findAll(); 
} 

@RequestMapping(value="/delete/{petId}", method = RequestMethod.DELETE) 
void deletePet(@PathVariable Long petId) { 
    this.petRepo.delete(petId); 
} 

@RequestMapping(value="/add", method = RequestMethod.POST) 
void addPet(@RequestParam String name, @RequestParam String photo, @RequestParam String status) { 
    Pet pet = new Pet(name, photo, status); 
    this.petRepo.save(pet); 
} 

@Autowired 
PetRestController(PetRepo petRepo){ 
    this.petRepo = petRepo; 
} 
} 

Pet.java

@Entity 
public class Pet { 

@Id 
@GeneratedValue 
private Long id; 

public Long getId() { 
    return id; 
} 

public String getName() { 
    return name; 
} 

public String getPhoto() { 
    return photo; 
} 

public String getStatus() { 
    return status; 
} 

@JsonIgnore 
public String name; 
public String photo; 
public String status; 

public Pet(String name, String photo, String status) { 
    this.name = name; 
    this.photo = photo; 
    this.status = status; 
} 

Pet() { 

} 
} 

Wer irgendwelche Ideen?

Antwort

1

Sie haben eine Anmerkung, die Spring nicht mitteilt, um name zu JSON zu serialisieren. Entfernen Sie die Annotation,

// @JsonIgnore // <-- remove this. 
public String name; 
+1

Whoops, vermisste das. Vielen Dank. Funktioniert jetzt –

Verwandte Themen