2016-12-28 1 views
0

Я новичок в Spring Spring api, поэтому мне нужно преобразовать данные в json-формат, используя весенний отдых api, может кто-нибудь скажет мне, как это сделать и дать меня ProType, как продолжить этот ...Как преобразовать данные в json-формат с помощью весеннего отдыха api в eclipse

+0

пар это https: // весна.io/guide/gs/rest-service/ – Lovababu

+0

Если вы используете настройки по умолчанию (особенно с Spring Boot), вам не нужно ничего делать. Просто передайте или верните POJO, и Spring сделает все для вас. – chrylis

+0

@ Lovababu, @ chrylis спасибо за ответ. – user7271107

ответ

0

Использование @ResponseBody аннотацию на ваш метод, который возвращает данные ... Кроме того, если вы можете показать код будет более полезным

0

Spring boot использует Jackson для десериализации JSON в экземплярах Java и сериализации объектов Java обратно в JSON. Вы можете проверить образец проекта, написанный мной здесь [1]. Буквально вам не нужно манипулировать никаким JSON. Вы работаете с использованием объектов Java. Пусть Джексон позаботится о преобразовании между Java-объектами и полезными нагрузками JSON. Вам просто нужно следовать нескольким правилам. Например, ваш Java-класс должен иметь одинаковые имена полей, такие как полезная нагрузка JSON и совместимые типы данных, тогда Джексон свяжет их от вашего имени. Надеюсь это поможет. Счастливое кодирование.

[1] https://github.com/ravindraranwala/SpringBootRxJava/

1

Вы можете использовать @RestController или @ReponseBody аннотацию.
Официальный Учебник here й фрагмент кода, как

@RestController 
public class GreetingController { 

    private static final String template = "Hello, %s!"; 
    private final AtomicLong counter = new AtomicLong(); 

    @RequestMapping("/greeting") 
    public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) { 
     return new Greeting(counter.incrementAndGet(), 
          String.format(template, name)); 
    } 
} 

@RestController аннотации можно использовать, когда все обработчик контроллера должен возвращать JSON string.However, если ваша потребность в том, что какой-либо метод может возвращать JSON строку, просто использовать @ResponseBody выше, что method.And возвращают рамки Object.The весна будет делать сериализации работу для you.The фрагмента кода, как:

@Controller 
public class GreetingController { 

    private static final String template = "Hello, %s!"; 
    private final AtomicLong counter = new AtomicLong(); 

    @RequestMapping("/greeting") 
    @ResponseBody 
    public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) { 
     return new Greeting(counter.incrementAndGet(), 
          String.format(template, name)); 
    } 
} 
0

в дополнение к CALTyang ответ, мы можем также использовать ResponseEntity вернуться ответ.

фрагмент кода:

 @RestController 
     public class PersonController { 

      @Autowired 
      private PersonRepository personRepository; 

      @RequestMapping(value = "/persons/{id}", method = RequestMethod.GET,produces={MediaType.APPLICATION_XML_VALUE},headers = "Accept=application/xml") 
      public ResponseEntity<?> getPersonDetails(@PathVariable Long id, final HttpServletRequest request)throws Exception { 
       ConnectionManager cm=new ConnectionManager(); 
       Person personResponse=cm.getDetails(); 
       return ResponseEntity.ok(personResponse); 
      } 

     } 
+0

, можете ли вы рассказать, как делать с моими данными как значения времени и дальности – user7271107

+0

@ user7271107 - Не могли бы вы вставить свой код относительно данные как время и значение расстояния –

+0

время в час = {1,2,3,4,, 5,6} расстояние в км = {20,23,29,50,55,60} это данные по образцу шахты времени и distance – user7271107

0

@ user7271107 - вот пример кода прототип и ответ format.I я выборки данных из БД.

Records

========================================= ============

Response

{ 
    "records": 
    [ 
     { 
      "hr": 1, 
      "km": 20 
     }, 
     { 
      "hr": 2, 
      "km": 23 
     }, 
     { 
      "hr": 3, 
      "km": 29 
     }, 
     { 
      "hr": 4, 
      "km": 50 
     }, 
     { 
      "hr": 5, 
      "km": 55 
     }, 
     { 
      "hr": 6, 
      "km": 60 
     } 
    ] 
} 

  package com.subu; 

      import org.springframework.boot.SpringApplication; 
      import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 
      import org.springframework.boot.autoconfigure.SpringBootApplication; 
      import org.springframework.boot.builder.SpringApplicationBuilder; 
      import org.springframework.boot.context.web.SpringBootServletInitializer; 
      import org.springframework.context.annotation.ComponentScan; 
      import org.springframework.context.annotation.Configuration; 
      import org.springframework.scheduling.annotation.EnableScheduling; 


      @SpringBootApplication 
      @Configuration 
      @ComponentScan 
      @EnableAutoConfiguration 
      @EnableScheduling 
      public class Application extends SpringBootServletInitializer{ 



       public static void main(String[] args) { 
        SpringApplication.run(Application.class, args); 
       } 

       @Override 
       protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
        return application.sources(Application.class); 
       } 

       private static Class<Application> applicationClass = Application.class; 

      } 

  @RestController 
      public class PersonController { 

       @Autowired 
       private RecordRepository recordRepository; 


       @RequestMapping(value = "/records/", method = RequestMethod.GET,produces={MediaType.APPLICATION_JSON_VALUE},headers = "Accept=application/json") 
       public ResponseEntity<?> getRecords(final HttpServletRequest request)throws Exception { 
        DBRecordArray dr= new DBRecordArray(); 
        List<DBRecord> list=recordRepository.findAll(); 
        dr.setRecords(list); 
        return ResponseEntity.ok(dr); 
       } 

      } 

  package com.subu; 

      import java.io.Serializable; 

      import javax.persistence.Entity; 
      import javax.persistence.GeneratedValue; 
      import javax.persistence.Id; 
      import javax.persistence.Table; 


      @Entity 
      @Table(name="record") 
      public class DBRecord implements Serializable{ 

       private static final long serialVersionUID = 1L; 
       @Id 
       @GeneratedValue 
       private Long id; 

       private int hr; 
       private int km; 
       public int getHr() { 
        return hr; 
       } 
       public void setHr(int hr) { 
        this.hr = hr; 
       } 
       public int getKm() { 
        return km; 
       } 
       public void setKm(int km) { 
        this.km = km; 
       } 

      } 

  package com.subu; 

      import java.util.List; 

      public class DBRecordArray { 

       private List<DBRecord> records; 

       public List<DBRecord> getRecords() { 
        return records; 
       } 

       public void setRecords(List<DBRecord> records) { 
        this.records = records; 
       } 
      } 

  package com.subu; 


      import java.util.List; 

      import org.springframework.data.jpa.repository.JpaRepository; 

      public interface RecordRepository extends JpaRepository<DBRecord, Long> { 

       List<DBRecord> findAll(); 
      } 
+0

ур выборки из БД но наши данные в excel, поэтому, как извлечь данные из excel, можете ли вы сказать мне и спасибо за кодирование решения. Мне так полезно для меня. – user7271107

+0

Могу ли я узнать идентификатор ур почты для контактной цели. – user7271107

+0

Не могли бы вы рассказать мне, программный поток – user7271107

Смежные вопросы