简体   繁体   中英

How to format JSON Response In Java Spring?

I have a Response Class with the set of private fields. Front end developers asked me to send the response of a service in this JSON format. So far Response should in JSON format and like this

{
  "status": "SUCCESS",
  "message": {
    "code": "040",
    "description": "verified"
    },
  "qrContent": "aaa | bbb"

 }



        QrCodePaymentResponse response = new QrCodePaymentResponse();
         if (firstThree.equalsIgnoreCase(QRType.EZDYNAMIC.getDescription())) {
              axiPayQrCodePaymentService.ezCashDynamicQR(axiPayQrCodePayment,serviceContext);
              response.setStatus(RequestStatus.SUCCESS.getStatus());
              response.setMessage(----------------);
              response.setQrContent(returnValue.getQrContent);

    }

How to modify above code to send requested format? Thanks.

use the spring RestController . it's methods return the data as a JSON format

QrCodePaymentResponse.java

public class QrCodePaymentResponse{
    private String response;
    private String qrContent;
    private Message message; 

    //set getters and setters
}

Message.java

public class Message{
    private String code;
    private String description;

    //set getters and setters
}

AppController.java

@RestController
public class AppController {

    @RequestMapping(value="/get", method=RequestMethod.GET)
    public QrCodePaymentResponse getPaymentResponse(){
        QrCodePaymentResponse response = new QrCodePaymentResponse();
        Message message = new Message();
        //set values to message
        if (firstThree.equalsIgnoreCase(QRType.EZDYNAMIC.getDescription())) {
            axiPayQrCodePaymentService.ezCashDynamicQR(axiPayQrCodePayment,serviceContext);
            response.setStatus(RequestStatus.SUCCESS.getStatus());
            response.setMessage(message);
            response.setQrContent(returnValue.getQrContent);
        }
        return response;
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM