0

残りの Web サービスで JSON データを送信する方法は? 製品 ID、店舗 ID、価格、製品単位、数量値を含む json オブジェクトがあります。ここでは、製品単位値を除くすべての値は整数のみです。ここで、これらの値を残りの Web サービスに送信したいと考えています。サンプルや貴重な提案があれば教えてください。

4

2 に答える 2

2

JSON 入力:

{
  "productId": "p123",
  "storeId": "s456",
  "price": 12.34,
  "productUnit": "u789",
  "quantity": 42
}

JAXB クラス:

@XmlRootElement
public class MyJaxbBean {
    public String productId;
    public String storeId;
    public double price;
    public String productUnit;
    public int quantity;

    public MyJaxbBean() {} // JAXB needs this

    public MyJaxbBean(String productId, String storeId, double price, String productUnit, int quantity) {
        // set members
    }
}

JAX-RS メソッド。

@PUT
@Consumes("application/json")
public Response putMyBean(MyJaxbBean theInput) {
    // Do something with theInput

    return Response.created().build();
}

詳細については、Jersey (JAX-RS の RI) のドキュメントを参照してください。

于 2013-09-13T08:38:06.217 に答える
1

これに Worklight タグを付けたので、worklight クライアントから外部 REST サービスに JSON データを送信する方法を尋ねるつもりだったと思います。Worklight でこれを行うには、Worklight HTTP アダプターを使用する必要があります。次のドキュメントを参照してください: http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v600/04_02_HTTP_adapter_-_Communicating_with_HTTP_back-end_systems.pdf

Worklight アダプターを作成したら、次のようにクライアントから JSON データを送信できます。

/**********************************************************************************
*                           Http Adapter call
**********************************************************************************/
function callAdapter(){

    var myJSONObject = {
        productId: 123, 
        storeId: 123, 
        price: 342, 
        productUnit: "myUnit",
        quantity: 4
    };

    var invocationData = {
            adapter : 'MyHttpAdapter',
            procedure : 'myAdapterProcedure',
            parameters : [myJSONObject]
    };

    WL.Client.invokeProcedure(invocationData, {
        onSuccess : success,
        onFailure : failure
    });
}

function success(response){
    console.log("adapter Success");
    console.log(response);
}

function failure(response){
    console.log("adapter Failure");
    console.log(response);
}
于 2013-09-13T16:18:57.853 に答える