我正在尝试使用Retrofit 2向服务器发送请求,我的一个参数应该是这样的:
[[ “配料”, “amountInt”, “单元”]]
内部列表是动态的,它可以是其中的很多!如下所示
[[ “Ingredient1”, “1”, “千”],[ “Ingredient2”, “2”, “千”]]
我尝试使用List<String[]>
和JSONArray
以及List<List<String>>
制作此数组
但它们都不起作用,我从服务器上得到了超时
我得到失眠和邮差的请求,我得到了成功的回复
这是我的Retrofit Interface
@POST("my server link")
Call<MyResponse> addFood(
@Header("token") String token,
@Part("name") RequestBody getName,
@Part("time") RequestBody getTime,
@Part("description") RequestBody getDescription,
@Part("hardness") RequestBody getHardness,
@Part("group") RequestBody getGroup,
@Part("numberOfPeople") RequestBody getNumberOfPeople,
@Part("tags") RequestBody getTags,
@Part("source") RequestBody getSource,
@Part("ings")List<String[]> ings);
这就是我创作的方式:
String[] getIngs=new String[3];
ArrayList<String[]> ingsFinal= new ArrayList<>();
getIngs[0] = getIngredient;
getIngs[1] = getAmount;
getIngs[2] = getUnit;
ingsFinal.add(getIngs);
我该如何解决这个问题?
答案 0 :(得分:0)
我从服务器
超时
当服务器收到错误的参数时,它应该会产生一些错误。 超时取决于互联网连接或不正确的网址。
您应该检查using (NpgsqlConnection connection = new NpgsqlConnection(< connectionString >))
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
connection.Open();
NpgsqlCommand cmd = new NpgsqlCommand(< name of your SP >, connection);
cmd.CommandType = CommandType.StoredProcedure;
var param = cmd.CreateParameter();
param.ParameterName = < exact parameterName you used in your SP>;
param.DbType = System.Data.DbType.AnsiString;
param.Value = < parameter value >;
cmd.Parameters.Add(param);
NpgsqlDataAdapter adapter = new NpgsqlDataAdapter(cmd);
adapter.Fill(ds);
dt = ds.Tables[0];
}
和Retrofit.Builder().baseUrl()
网址。
@Post()
baseUrl = "http://url.url/"