Learn JPOS Part 4 throw rest service to Host

This part actually my experiment to throw rest message to host we will using spring boot as RestFul service and using those service to throw ISOMsg as JSON data upon the request on web.

If you read the previous tutorial (Part 3) the code almost same instead we add new QBean to run webservice when Q2 start.

QBean XML for webservice

<qrest class="com.gl.qbean.QRestService">

</qrest>

QBean class

Actually the Qbean class contain spring boot run method.

import org.jpos.q2.QBeanSupport;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

/**
 * Created by ggpratama on 10/9/2015.
 */
@SpringBootApplication
@ComponentScan(basePackages = "com.gl")
public class QRestService extends QBeanSupport {
    @Override
    protected void startService() throws Exception {
        SpringApplication app = new SpringApplication();
        app.setShowBanner(true);
        app.run(QRestService.class);
    }

}

Controller

The controller will accept get request from localhost:8080/ismsg/

import com.gl.entity.ISOMsgE;
import com.gl.repository.Repository;
import org.jpos.iso.ISOException;
import org.jpos.iso.ISOMsg;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by ggpratama on 10/8/2015.
 */
@RestController
public class ISORestController {
    @RequestMapping(value = "/isomsg",method = RequestMethod.GET)
    public ISOMsgE getMessageRest(){
        Repository repository = Repository.getInstance();
        ISOMsg isoMsg = repository.getISOMessage();
        ISOMsgE isoMsgE = new ISOMsgE();
        try {
            //Buat test aja
            isoMsgE.setField0(isoMsg.getMTI());
            isoMsgE.setField11(isoMsg.getString(11));
            isoMsgE.setField3(isoMsg.getString(3));
            isoMsgE.setField4(isoMsg.getString(4));

        } catch (ISOException e) {
            e.printStackTrace();
        }
        return isoMsgE;
    }


}

Entity class

public class ISOMsgE {
    //Test
    private String field0;
    private String field3;
    private String field4;
    private String field7;
    private String field11;
    private String field12;
    private String field13;
    private String field15;
    private String field32;
    private String field39;
    private String field41;
    private String field42;
    private String field48;

    //Getter and Setter

}

That’s it at last you can checkout the code at https://github.com/Gemuruh-Geo/Learn-JPOS.git and chose SimpleListenerRestfulService project

 
71
Kudos
 
71
Kudos

Now read this

Using Java Map rather than if and else (Actually this more appropriate for switch case)

Actually this idea is not such a big stuff rather just find small thing that I found so interesting. Usually we using if else or maybe switch to create logical condition until some extend the condition became so unreadable because its to... Continue →