当前位置: 首页 > 知识库问答 >
问题:

向REST api KOTLIN发布一个Json和一个头

江棋
2023-03-14

我发现了一个youtube视频如何做一个get url,但我需要做一个帖子到一个REST API。我不知道怎么做。

我试着看看这里,但大部分都是Java。

fun fetchJson() {
    println ("attempting to fetch JSON")

    val url = "https://utgapi.shift4test.com/api/rest/v1/transactions/sale"

    val request = Request.Builder().url(url).build()

    val client = OkHttpClient()
    client.newCall(request).enqueue(object: Callback {
        override fun onResponse(call: Call?, response: Response?) {
            val body = response?.body()?.string()
            println(body)
            println("try and get json api working there was an error")
        }

        override fun onFailure(call: Call, e: IOException) {
            println("failed to execute request")
}

使用GET,我只收到一个错误,因为我没有执行POST请求。

共有1个答案

宣星光
2023-03-14

在https://stackoverflow.com/a/29795501/5182150中找到了一些内容,将其转换为kotlin会像这样

private val client = OkHttpClient();

 fun run() throws Exception {
val formBody = FormEncodingBuilder()
    .add("search", "Jurassic Park")
    .build() as RequestBody;
val request = new Request.Builder()
    .url("https://en.wikipedia.org/w/index.php")
    .post(formBody)
    .build();

val response = client.newCall(request).execute();
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

System.out.println(response.body().string());
}

这应该是要旨。您可以在工作室给出警告时处理可为空的问题。另一个提示是,您也可以使用reverfit,它可以使用OkHTTP进行网络调用。您可以在https://square.github.io/retrofit/找到更多关于改装的信息,也可以在https://medium.com/@prakash_pun/retrofit-a-simple-android-tutorial-48437e4e5a23找到一个很好的教程

 类似资料:
  • 问题内容: 我正在尝试使用RestSharp发布以下JSON: 我想我已经接近了,但是我似乎在为 SecurityQuestion 苦苦挣扎(API抛出错误,表明缺少参数,但没有说明是哪个参数) 这是我到目前为止的代码: 我的安全问题类如下所示: 谁能告诉我我在做什么错?还有其他方法可以发布安全性问题对象吗? 非常感谢。 问题答案: 您需要在标题中指定content-type: 还根据方法添加到P

  • In order to share your package with other developers around the world through Yarn, you’ll first need to publish it. When you publish a package with Yarn it goes onto the npm registry which is used to

  • 在你明确地决定将一个本地分支发布到远程仓库之前,这些在你本地计算机上创建的分支是不能被其他的团队成员看到的,它只是你的私有分支。这就意味着,你可以保留某些改动仅仅在你私有的本地分支上,而与其他团队成员分享一些其它分支上的改动。 现在让我们来分享 “contact-form” 分支(它直到现在还仅仅是个私有的本地分支)到 “origin” 远程上: $ git checkout contact-fo

  • 本文向大家介绍system.reactive 共享一个订阅(发布),包括了system.reactive 共享一个订阅(发布)的使用技巧和注意事项,需要的朋友参考一下 示例 给定一个IObservable<Offer>的offers从商家购买或以固定价格出售某些类型的项目,我们可以按照如下匹配对买家和卖家的: 问题在于,每个订阅trades将订阅offers两次。我们可以sellers和buyer

  • Pushing the image Now that a root key is available, it’s time to initialize the repository on the first push. Consider this as your app: FROM alpine RUN true Make sure you have all trusted metadata us

  • 我非常努力地显示下一个&上一个按钮,不管它是否在我的wordpress主题上处于活动状态。我似乎想不出一个办法来让它工作。我正在尝试这样做:http://www.kinocreative.co.uk/hints-and-tips/wordpress-nextpreview-post-navigation-with-images-and-inactive-links/extracty but for