【问题标题】:Fail JSON parameters in the call to the web service post调用 Web 服务后的 JSON 参数失败
【发布时间】:2013-11-28 20:22:57
【问题描述】:

实现一个web服务RestEasy休息,我有问题。

Ajax Jquery:

$(document).ready(function(){
        var sUrlBusqueda = "http://localhost:8888/rest/posiciones/testPost";

        var valores = new Object();
        valores.lat = '12';
        valores.lng = '12';
        valores.radio = '12';

        var parametros = new Array();
        parametros[0] = "lat";
        parametros[1] = "lng";
        parametros[2] = "radio";

        var jsonText = JSON.stringify(valores, parametros, "\t");


          $.ajax({
              type: "POST",
              contentType: "application/json; charset=utf-8",
              url: sUrlBusqueda,
              data: jsonText,
              dataType: "json",
              success: function (data) {//On Successfull service call
                    var sCadena = "";

                    $.each(data, function(i,data){
                        sCadena = sCadena + data.oCoordenadaVO.id;
                    });
                    alert(sCadena);
                },
              failure: function ServiceFailed(data) {
                    alert('error');

                    return;
                }
          }); 
          });

网络服务:

 @Override
@POST
@Consumes("application/json")
@Produces("application/json")
public List<CoordenadaVO> getLocalizacionesPost(
        @DefaultValue("0") @QueryParam("lat") String lat,
        @DefaultValue("0") @QueryParam("lng") String lng,
        @DefaultValue("0") @QueryParam("radio") String radio) {
    long startTime = System.currentTimeMillis();
     }

在web服务中我只接收到默认值0的value参数。这是Json代码出货,我没有看到错误任何想法?。

【问题讨论】:

    标签: json rest jquery resteasy


    【解决方案1】:

    简单地说:

    @Override
    @POST
    @Consumes("application/json")
    @Produces("application/json")
    public List<CoordenadaVO> getLocalizacionesPost(
            ConfigBusquedaVO config) {}
    
    public class ConfigBusquedaVO {
    
        private String lat = "";
    
        private String lng = "";
    
        private String radio = "";
    
        public String getLat() {
            return lat;
        }
    
        public void setLat(String lat) {
            this.lat = lat;
        }
    
        public String getLng() {
            return lng;
        }
    
        public void setLng(String lng) {
            this.lng = lng;
        }
    
        public String getRadio() {
            return radio;
        }
    
        public void setRadio(String radio) {
            this.radio = radio;
        }
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      相关资源
      最近更新 更多