Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java/Spring/rest将post-json对象数据传递给api_Java_Json_Spring_Rest - Fatal编程技术网

如何使用java/Spring/rest将post-json对象数据传递给api

如何使用java/Spring/rest将post-json对象数据传递给api,java,json,spring,rest,Java,Json,Spring,Rest,问题陈述 我是Spring/Rest应用程序的新手,我在对象中有数据 现在,我需要将这些数据传递给API 以下是单个记录的样本卷曲- curl --request POST \ --url http://eventapi-dev.wynk.in/tv/events/v1/event \ --header 'cache-control: no-cache' \ --header 'content-type: application/json' \ --header 'postman

问题陈述

我是Spring/Rest应用程序的新手,我在
对象中有数据

现在,我需要将这些数据传递给API

以下是单个记录的样本卷曲-

curl --request POST \
  --url http://eventapi-dev.wynk.in/tv/events/v1/event \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --header 'postman-token: 67f73c14-791f-62fe-2b5a-179ba04f67ba' \
  --data '{"name":"hotel california", "createdAt":1505727060471, "steamUrl":"https://www.youtube.com/watch?v=lHje9w7Ev4U"}'
在终端中点击curl url后得到的响应是Ok

有谁能指导我如何用Java编写代码吗

可以使用okhttp()调用此api。 例如:


Url将是您的终点。这意味着您需要编写一个控制器来响应您的请求,在您的请求中有一些头,如您所见。这些标题用于登录并告诉spring您正在发送json文本。此外,如果您检查您的请求,它是“POST”,因此您还需要通知您的控制器方法。使用模型捕获所有数据是一种很好的做法

所以你的任务应该是这样的

  • 创建可以响应您的url的控制器
  • 通知控制器方法数据为Json格式
  • 通知控制器方法它需要等待“POST”请求
  • 将数据解析为模型
  • 让我们试着处理代码

    @RequestMapping(value = events.EVENT, method = RequestMethod.POST, consumes = {
            MediaType.APPLICATION_JSON_VALUE }, produces = { MediaType.APPLICATION_JSON_VALUE })
    public Event eventAction(@RequestBody Event event){
    
    }

    在您的情况下,您需要定义什么是事件。课堂应该是这样的

    public class Quota implements Serializable{
     private String name;
     private Date createAt;
     private String url;
    
    // create getter setter
    }
    

    这就是您现在能够响应此请求的全部内容。在控制器方法内部,您可以执行业务逻辑。

    您必须使用类似于maily-bu所述的东西,使用
    HttpURLConnection
    &
    URL

    在这里,您注意到post场景中JSON数据是作为
    String

    然后,您还可以使用该API了解更多的答案

    您还可以使用和浏览他们网站上的示例

    ApacheHttpClient示例也很简单

    我不确定我是否应该将这些网站上的相关代码示例复制粘贴到这个答案上(为了完整性),但想法很简单,您必须找到一个API来帮助您构建和执行REST请求


    另一个API在回答中列出-TrầnĐức Hùng,因此我们在市场上有许多其他Java API可用

    简单java?熟悉java.net.*API。在尝试提出更多问题之前,请先阅读。@Tran Duc Hung如何将我的对象传递给此。@JalajChawla:我想答案很清楚,您需要在第行传递JSON-
    RequestBody=RequestBody.create(…,…)
    或其他问题?或者,您可以使用JSON API(如Jackson等)将POJO表示为JSON对象,然后转换为字符串等。@JalajChawla u可以使用gsonlol这是完全不同的:))无论如何,可能有人试图复制端点。
    public class Quota implements Serializable{
     private String name;
     private Date createAt;
     private String url;
    
    // create getter setter
    }