小编Gee*_*eek的帖子

@RequestBody获取空值

我创建了一个简单的REST服务(POST).但是,当我从邮递员@RequestBody调用此服务时,没有收到任何值.

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

@RestController
public class Add_Policy {
    @ResponseBody
    @RequestMapping(value = "/Add_Policy", headers = {
            "content-type=application/json" }, consumes = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
    public Policy GetIPCountry( @RequestBody Policy policy) {

        System.out.println("Check value: " + policy.getPolicyNumber());
        return policy;

    }


}
Run Code Online (Sandbox Code Playgroud)

我的java Bean对象如下:

public class Policy {
    private String PolicyNumber;
    private String Type;
    private String Tenture;
    private String SDate;
    private String HName;
    private String Age;

    public String getPolicyNumber() {
        return …
Run Code Online (Sandbox Code Playgroud)

spring spring-boot spring-restcontroller

19
推荐指数
5
解决办法
3万
查看次数

Map <String,String>对象的@ApiImplicitParam

我有一个接受一个字符串和一个MAP作为输入的API。

public ModelClass getMyApi(String inparm, Map<String, String> myValues)
Run Code Online (Sandbox Code Playgroud)

我想知道我怎么可以使用捕捉地图输入招摇文档@ApiImplicitParams@ApiImplicitParam注释。

我已经尝试过这样

 @ApiImplicitParam(name="myValues", value="Validation Values Map", required =
         true, dataType = "Map", paramType = "query")
Run Code Online (Sandbox Code Playgroud)

但是没有运气。

注意:我正在使用Swagger-servlet模块。

谢谢。

java collections swagger swagger-2.0

5
推荐指数
0
解决办法
997
查看次数

转换回 Java 对象时 MongoDB“NumberLong/$numberLong”问题

我有一个 json,有点像 {"Header" : {"name" : "TestData", "contactNumber" : 8019071740}}

如果我将其插入 mongoDB,它将类似于

{"_id" : ObjectId("58b7e55097989619e4ddb0bb"),"Header" : {"name" : "TestData","contactNumber" : NumberLong(8019071743)}

当我读回这些数据并尝试使用 Gson 转换为 java 对象时,它会抛出异常 com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a long but was BEGIN_OBJECT at line 1 column 109 path $.Header.contactNumber

我找到了这个,但我想知道我是否有非常复杂的 json 结构,那么我可能需要在这种方法中操作许多 json 节点。

有没有人对此有更好的选择。

编辑:1 我正在阅读查询和转换 json 如下

Document MongoDocument = mycollection.find(searchCondition);
String resultJson =  MongoDocument.toJson();
Gson gson = new Gson();
Model model= gson.fromJson(resultJson, ItemList.class);
Run Code Online (Sandbox Code Playgroud)

java json mongodb bson mongodb-query

5
推荐指数
2
解决办法
1万
查看次数

副本集的MongoDB负载均衡器

在MongoDB的副本集群集中,当我的主要忙于提供另一个请求时,如何确保为用户提供快速响应?

我是否需要使用负载均衡器,或者mongodb本身将查询路由到可用的辅助节点?

谢谢

mongodb mongodb-query mongodb-replica-set

5
推荐指数
1
解决办法
7497
查看次数

Java 到 Mongo 文档日期

我通过使用 Mongo 驱动程序的静态解析方法将 pojo 转换为文档对象来插入文档。

Document newList = parse(gson.toJson(myPoJo));
collections.insertOne(newList);
Run Code Online (Sandbox Code Playgroud)

这个 pojo 有一个 Date 属性。但是我认为 parse 方法不会坚持这种类型并将其转换为字符串。所以在插入我的文档之后是这样的。

 { "auditInfo" : {
        "updatedDate" : "Feb 28, 2000 3:39:20 PM",
   } 
}
Run Code Online (Sandbox Code Playgroud)

问题是我将无法在 mongo 查询中执行日期比较。

请告知如何处理。

java date mongodb mongodb-query

2
推荐指数
1
解决办法
1万
查看次数