Я хочу опубликовать запрос с модифицированным телом, при этом в скобках есть другие скобки, ожидающий запрос тела: {"attributes":{"data":"FOOBAR"},"deviceId":171,"type":"custom"}
Я пробовал с обратной косой чертой и всегда получаю неверный запрос.
Activity.java
StringBuilder stringBuilder = new StringBuilder("{\"data\":\"");
stringBuilder.append(commandInput.getText());
stringBuilder.append("\"}");
Tasker task = new Tasker(idUnit, "custom", stringBuilder.toString());
Call<Tasker> call2 = mApiService.postCommand(task);
call2.enqueue(new Callback<Tasker>() {
@Override
public void onResponse(Call<Tasker> call, Response<Tasker> response) {
Toast.makeText(CommandActivity.this, getString(R.string.command_sent), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<Tasker> call, Throwable t) {
Toast.makeText(CommandActivity.this, getString(R.string.command_failed), Toast.LENGTH_SHORT).show();
}
});
Tasker.java
public class Tasker {
private long deviceId;
private String type;
private String attributes;
public Tasker(long deviceId, String type, String attributes) {
this.deviceId = deviceId;
this.type = type;
this.attributes = attributes;
}
}
Ожидаемая полезная нагрузка результата:
{"attributes":{"data":"FOOBAR"},"deviceId":171,"type":"custom"}
Фактическая полезная нагрузка:
{"attributes":"{\"data\":\"FOOBAR\"}","deviceId":171,"type":"custom"}