如何将JSON String作为请求参数传递给其他服务

时间:2018-06-12 22:11:58

标签: java spring-boot java-ee

我有两个服务正在运行。一项服务将生成JSON响应。下面是生成的Json响应。

{ "appliedCostMatrix": { "regionCostMatrix": "","costAreaCode": "",    "costBoundaryId": 0,    "isActive": "Y",    "costRegionCode": "",    "regionTypeCode": 3,    "regionTypeDescription": "California",    "solveTypeDescription": "Coaxial"  },  "networkSolveRegion": "CALIFORNIA"} 

现在要保存响应,我必须调用其他服务,并且必须将此Json作为字符串传递。

http://localhost:8080/putSolvedRoutes?responseJson=(Above Mentioned JSON string)

任何人都能告诉我实现这一目标的最佳方法。

先谢谢。

1 个答案:

答案 0 :(得分:0)

你有什么尝试?你的标签暗示这是一个Spring问题所以在Spring启动的上下文中,设置你的控制器(接收你用json数据发送的第二个请求),如下所示:

@RestController
public class YourRestController {
    @RequestMapping(value="/your/endpoint", method=RequestMethod.POST)
    public ResponseEntity<String> someMethod(@RequestBody YourDTO data) {
        // business logic here
    }
}

并在邮件中使用您正在使用的任何客户端发送请求。

如果客户端也是Spring,请查看documentation以找到解决问题的可能方法。一个简短的例子:

@Service
public class YourService {
    private final RestTemplate rt;
    public YourService(RestTemplateBuilder rtb) {
        this.rt = rtb.build();
    }
    public YourDTO someRestCall(String param) {
        return this.rt.postForObject("/your/endpoint", YourDTO.class, param);
    }
}