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

如何使用改型找到将JSON对象发布到JSONbin的正确endpoint

堵凯
2023-03-14

我在JSONbin中有JSON对象。io具有以下结构。

{
  "beneficiaries": [
    {
      "name": "Brian",
      "staff_no": "12",
      "id": "11111111"
    }],
 "users": [
    {
      "national_id": "10102020",
      "sponsor_no": "01",
      "staff_no": "12",
      "name": "Sonya",
      "birth_date": "24-2-1999",
      "kra_pin": "1111111111",
      "employment_date": "10-1-2019",
      "employment_type": "temporary",
      "email": "email@gmail.com",
      "password": "1"
    }]
}

我正在尝试使用改造将新数据条目发布到用户受益人等中。但是,我似乎无法找出在我的jsonBinAPI接口中描述的正确endpoint,正如您在我下面发布的代码段中看到的那样。每当我运行应用程序时,404响应代码都会记录在我的logcat中,并且新记录显然不是POST-ed。

主要活动

 pojo_user user = new pojo_user(natid,sponsor_no,staff_no,uname,pass);
                    Retrofit retrofit = new Retrofit.Builder()
                            .baseUrl("https://api.jsonbin.io/")
                            .addConverterFactory(GsonConverterFactory.create())
                            .build();
                    jsonBinAPI jsonbinapi = retrofit.create(jsonBinAPI.class);
                    Call<pojo_user> call = jsonbinapi.setUser(user);
                    call.enqueue(new Callback<pojo_user>() {
                        @Override
                        public void onResponse(Call<pojo_user> call, Response<pojo_user> response) {
                            Log.v("register_retrofit",Integer.toString(response.code()));
                        }

                        @Override
                        public void onFailure(Call<pojo_user> call, Throwable t) {
 Log.v("register_retrofit",t.getMessage());
                        }
                    });

pojo_用户

public class pojo_user {
    private String national_id;
    private String sponsor_no;
    private String staff_no;
    private String name;
    private String birth_date;
    private String kra_pin;
    private String employment_date;
    private String employment_type;
    private String email;
    private String password;
    private String log_state;

    public pojo_user(String national_id, String sponsor_no, String staff_no, String name, String password) {
        this.national_id = national_id;
        this.sponsor_no = sponsor_no;
        this.staff_no = staff_no;
        this.name = name;
        this.password = password;
    }


}

JsonBinAPI

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;


public interface jsonBinAPI {
    @GET("b/5e536928d3c2f35597f6ca46/5")
    Call<jsonBin_response> getJsonBin_response();
    @Headers({"secret-key: <MY_KEY>","Content-Type: application/json","private: false"})
    @POST("b/5e536928d3c2f35597f6ca46/5/users")
    Call<pojo_user> setUser(@Body pojo_user user);
}

共有2个答案

易宣
2023-03-14

查看文档,似乎不可能直接将新对象添加到现有bin中。不过,您可以通过在此处创建两个集合来实现这一点——一个用于用户,另一个用于受益人。然后使用

   @Headers({
       "Content-Type: application/json",
       "secret-key: <Your secret key>",
       "collection-id: <Collection-ID for users>"
   })
   @POST('b')
   Call<pojo_user> setUser(@Body pojo_user user);

受益人也是如此。

文档中提供的创建箱子的路径就是。您提供了b/5e536928d3c2f35597f6ca46/5/users。这可能就是你得到404的原因。

周飞语
2023-03-14

你需要先检查他们的留档。

  • 您需要在头中传递密钥:在改装中添加头参数
  • 您需要在请求中传递JSON:如何在改造请求中发布JSON

我希望你能从上面的链接中找到解决问题的线索。

 类似资料:
  • 问题内容: 我如何/可以将json对象传递给webapi控制器(POST),并且 没有 类可将其映射到,而是将其作为任意内容来处理? 因此,如果我像这样从客户那里传递消息: 数据是这样的: 我的控制器将能够解析吗?下次数据可能与该签名不匹配(例如: 在我的控制器中,我尝试过: 和: 和(因为这实际上是与mongo数据库一起使用): 但是看起来对象映射器想要映射到字符串以外的其他东西… 问题答案:

  • 问题内容: 我正在使用Symfony 2开发一个项目,我已经建立了一个捆绑包来处理我的所有数据库服务,这些服务来回传递JSON数据。 我的问题/问题: 是否可以发布简单的JSON对象?目前,我通过给对象起一个名字来欺骗我的ajax调用的普通表单帖子,如果我不给它起一个名字,我似乎无法从Symfony请求对象中获取数据。 我希望能够使用一个服务包来处理来自AJAX调用或常规Symfony形式的数据。

  • 问题内容: 我试图弄清楚如何将对象从表单发布到Web api服务。在我的控制器中,我定义了一个想要向其添加输入值的模型。 在我的输入字段中,我将它们绑定起来,例如: 在提交表单时,将这两个字段传递给我的服务并提交给我的WebApi 我已经通过两种方式尝试了此提交: 并且也如下,不声明参数 在webAPI中,我为帖子设置了一个方法 ReportLabel(dto)的定义如下: 我遇到的问题是,当我从

  • 问题内容: 我正在使用JAX-RS的Jersey实现。我想将JSON对象发布到该服务,但收到错误代码415不支持的媒体类型。我想念什么? 这是我的代码: 这是Order对象: 这样的GET请求可以完美地工作,并以JSON格式返回订单: 但是,像这样的POST请求返回415: 问题答案: 答案非常简单。我必须在请求中添加标头,其值为。没有此标头,Jersey不知道如何处理请求正文(尽管有注释)!

  • 问题内容: 我可能还差得远,但是我整个下午一直在尝试在本教程PHP框架教程中运行curlpost命令。我不明白的是PHP应该如何解释我的POST,它总是以空数组的形式出现。 (其中的斜线只是让我看起来不像是个白痴,而是我使用PHP 5.2在Windows上执行此操作,也曾在与Linux curl相同版本的Linux服务器上尝试过) 我必须缺少一些东西,因为它看起来很简单,帖子解释得不好,如果可以的

  • 我不熟悉Spring BootRest,并尝试使用post ab对象作为Rest请求。但它不起作用,我得到了零回报: 这是我要发布的对象: 这是路线类: 这是我的机场班: 这是我的控制器: 这是我的JSON: 当我发布此JSON时,我只得到以下信息: 航班详情为:空