我创建了一个简单的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) 我有一个接受一个字符串和一个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模块。
谢谢。
我有一个 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) 在MongoDB的副本集群集中,当我的主要忙于提供另一个请求时,如何确保为用户提供快速响应?
我是否需要使用负载均衡器,或者mongodb本身将查询路由到可用的辅助节点?
谢谢
我通过使用 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 ×3
mongodb ×3
bson ×1
collections ×1
date ×1
json ×1
spring ×1
spring-boot ×1
swagger ×1
swagger-2.0 ×1