获取$ http.put请求中传递的Json对象

时间:2017-09-14 07:30:16

标签: angularjs json jetty dropwizard

我是angularjs的新手。我试图在$ http.put请求中发送一个json对象,如下所示:

function LoginCtrl($http){
this.login = function(){
  var self = this;
        self.user = {
            username: this.username,
            password: this.password
        }
    $http.put('http://localhost:8086/app/login',self.user).then(function 
successCallback(response) {
      }, function errorCallback(response) {
      })
}
}

我只想在Rest api中获取这个json对象,其代码如下: @Path(" /应用&#34) 公共类LoginResource {

public LoginResource() {
}

@PUT
@Path("/login")
@Consumes(MediaType.APPLICATION_JSON)
public Response getUserByName() {
    return Response.status(Response.Status.ACCEPTED).build();
}

我需要传递给这个getUserByName api的参数是什么?我正在使用dropwizard

此外,如果有人可以告诉如何将index.html页面设置为jetty服务器配置中的起始页面。

2 个答案:

答案 0 :(得分:1)

首先,在你的Dropwizard(泽西岛)后端定义你的输入

public Response getUserByName(User user) { ...

然后,您可以将JSON映射到这样的实体:

public class User {
   @JsonProperty("name") 
   private String name; }

在angularJS中,将Json对象作为请求有效负载传递给$ http.PUT(uri,<JsonObject>

答案 1 :(得分:0)

http.put(url, JSON.stringify(self.user), function (err, response) 
{
    // do something here
}