So benennen Sie die json-Objekte(Variablen) Namen in den Frühling starten

Hallo, ich bin neu in spring boot und JSON und brauchen Hilfe bei der Umbenennung der Variablen name kommt in der Antwort.

Betrachten dies als ein Eingang

   "1":    {
      "id": "1",
      "firstName": "Cdgdghirayu",
      "lastName": "Sinfsdgdgghvi",
      "age": 23
   }

Nun in der Antwort, die ich brauche in diesem format

   "1":    {
      "Roll number": "1",
      "firstName": "Cdgdghirayu",
      "lastName": "Sinfsdgdgghvi",
      "age": 23
   }

können wir anzeigen "id" zu "roll number" in irgendeiner Weise?
Wie das zu erreichen ist in spring-boot?

Vielen Dank im Voraus

upadte-
Das ist meine model-Klasse

package model;

import javax.xml.bind.annotation.XmlRootElement;
import com.fasterxml.jackson.annotation.JsonProperty;

@XmlRootElement
public class Person {
@JsonProperty("Roll Number")
private String id;

private String firstName;
private String lastName;
private int age;

public Person() {
    super();
}

public Person(String id, String firstName, String lastName, int age) {
    super();
    this.id = id;
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}
}

Dies ist mein service Klasse
Hier in addPerson () - Funktion habe ich die id, als Ihre Einnahme-id als null..

package service;

import java.util.Hashtable;
import org.springframework.stereotype.Service;
import model.Person;

@Service
public class PersonService {
    Hashtable<String,Person> persons=new Hashtable<String,Person>();
    public PersonService(){
    Person p=new Person();
    p.setId("1");
    p.setFirstName("Chirayu");
    p.setLastName("Singhvi");
    p.setAge(23);
    persons.put("1",p);

    p=new Person();
    p.setId("2");
    p.setFirstName("Himanshu");
    p.setLastName("Singhvi");  
    p.setAge(20);
    persons.put("2",p);
    }

    public Person getPerson(String id){
    if(persons.containsKey(id))
    return persons.get(id);
    else return null;
    }

    public Hashtable<String,Person> getAll(){
    return persons;
    }

    public Person addPerson(Person person){
    persons.put(person.getId(),person);

    return person;
}

    public Person updatePerson(Person person){
    if(person.getId().equals("0")){
    return null;
    }
    persons.put(person.getId(),person);
    return person;
}

    public Person removePerson(String id) {
    return persons.remove(id);
    }

Meine controller-Klasse

package controller;

import java.util.Hashtable;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import model.Person;
import service.PersonService;

@RestController
@RequestMapping("/persons")
public class PersonController {
    static final Logger log = Logger.getLogger(PersonController.class.getName());

    PersonController(){
    log.info("entering controller class");
    }

    @Autowired
    PersonService personService;

    @RequestMapping("/all")
    public Hashtable<String,Person> getAll(){
    log.info("getting all  person details");
    System.out.println("syso is working");
    return personService.getAll();
    }

    @RequestMapping(value="/all",method=RequestMethod.POST,
            produces=MediaType.APPLICATION_JSON_VALUE,
            consumes=MediaType.APPLICATION_JSON_VALUE )
    @ResponseBody
    public Person addPerson(@RequestBody Person person){
    log.info("Adding person with id "+person.getId());
    person.getId();
    return personService.addPerson(person);
    }

    @RequestMapping(value="/{id}",method=RequestMethod.PUT,
            produces=MediaType.APPLICATION_JSON_VALUE,
            consumes=MediaType.APPLICATION_JSON_VALUE )
    @ResponseBody
    public Person updatePerson(@PathVariable("id") String id, 
            @RequestBody Person person){
    person.setId(id);

    log.info("Updating a partcular person details  with id "+id);
    return personService.updatePerson(person);
    }

    @RequestMapping(value="/{id}",method=RequestMethod.DELETE)
    public void removePerson(@PathVariable("id") String id){
     log.info("Removing the person details with id "+id);
     personService.removePerson(id);
    }

    @RequestMapping("/{id}")
    public Person getPerson(@PathVariable("id") String id){
    log.info("getting person details with id "+id);
    return personService.getPerson(id);
    }

    public void setDthDao(PersonService dao) {//for testing purpose
    personService=dao;
    }

Nun in SOAPUI-Tests(schreiben von text als Schnappschüsse nicht hochladen)

für die GET-Anforderung : endpoint-http://localhost:8080 :Ressourcen/Personen/alle

Antwort-

{
   "2": {
      "firstName": "Himanshu",
      "lastName": "Singhvi",
      "age": 20,
      "Roll Number": "2"
   },
   "1": {
      "firstName": "Chirayu",
      "lastName": "Singhvi",
      "age": 23,
      "Roll Number": "1"
   }
}

Nun für Post- : Endpunkt-http://localhost:8080 :Ressourcen/Personen/alle

Mediatype-

{
  "firstName": "Rahul",
  "lastName": "Jain",
  "age": 23,
  "id": "6"
}

Antwort, welche ich erhalte

{
   "timestamp": 1469790685110,
   "status": 500,
   "error": "Internal Server Error",
   "exception": "java.lang.NullPointerException",
   "message": "No message available",
   "path": "/persons/all"
}

Antwort, ich will

{
   "firstName": "Rahul",
   "lastName": "Jain",
   "age": 23,
   "Roll number": "6"
}

InformationsquelleAutor Chirayu Singhvi | 2016-07-28

Schreibe einen Kommentar