问题陈述
我是Spring / Rest Applications的新手,我在Object
中有数据。
现在,我需要将此数据传递给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"}'
我在终端点击卷曲网址后得到的回复是确定
我可以指导我如何用Java编写代码。
答案 0 :(得分:1)
您可以使用okhttp(https://github.com/square/okhttp)来调用此api。 例如:
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"name\":\"hotel california\", \n\t\"createdAt\":1505727060471, \n\t\"steamUrl\":\"https://www.youtube.com/watch?v=lHje9w7Ev4U\"\n}");
Request request = new Request.Builder()
.url("http://eventapi-dev.wynk.in/tv/events/v1/event")
.post(body)
.addHeader("content-type", "application/json")
.addHeader("cache-control", "no-cache")
.addHeader("postman-token", "08af0720-79cc-ff3d-2a7d-f208202e5ec0")
.build();
Response response = client.newCall(request).execute();
答案 1 :(得分:1)
你必须使用HttpURLConnection
使用URL
& String
。
您注意到JONS数据作为class Program
{
private static IDictionary<string, Action> MethodMappings = new Dictionary<string, Action> {
{"Method1", Method1},
{"Method2", Method2},
...
}
public static void Main(string[] args) {
var methodCall = Console.ReadLine();
if (!MethodMappings.ContainsKey(methodCall)) {
//unrecognized command
}
MethodMappings[methodCall].Invoke();
}
private static void Method1() { ... }
private static void Method2() { ... }
}
然后,您也可以关注here使用该API了解更多答案。
您还可以使用this question并浏览其网站上的示例。
Apache HttpClient示例也是Apache HttpClient。
我不确定是否应该复制 - 将这些网站的相关代码示例粘贴到此答案(为了完整性),但想法很简单,您必须找到一个可以帮助您构建和执行REST请求。
另一个API列在 - TrầnĐứcHùng的回答中,因此我们在市场上有许多其他Java API。
答案 2 :(得分:-2)
网址将是您的终点。这意味着您需要编写一个可以响应您的请求的控制器,在您的请求中,您可以看到一些标题。这些标题用于登录并告诉spring您正在发送json文本。此外,如果您检查您的请求,它是&#34; POST&#34;所以你还需要通知你的控制器方法。最好用模型捕获所有数据。
所以你的任务应该是这样的。
让我们尝试使用代码。
@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
}
现在你可以回复这个请求了。在控制器方法内部,您可以执行业务逻辑。