Меня попросили провести рефакторинг некоторого кода, который отправляет запрос к веб-API, и я понятия не имею, что происходит, когда он получает запрос. Я просто должен очистить код, который делает запрос. Теперь у меня есть это:
FormBody formBody = new FormBody.Builder()
.add("task", task.get("task"))
.add("status", task.get("status"))
.add("spent_time", task.get("spentTime"))
.add("impediments", task.get("impediments"))
.add("reoccurring", String.valueOf(task.get("reoccurring")))
.build();
return new OkHttpClient().newCall(
new Request.Builder()
.url(buildUrl("/activities/" + task.get("id")))
.method("POST", formBody)
.header("Accept", "application/json")
.build()
Первоначально эта функция была разделена на еще три функции.
- Один URL-адрес для получения форм
task
и status
- еще один URL для вызова
spent_time
и impediments
- , а затем еще один URL-вызов, имеющий только
reoccurring
Но так как все они принадлежат одному и тому же URL, я решил объединить их в одну функцию, потому что у меня была идея. Хотя, похоже, моя идея отчасти не оправдывает себя. Как мне сделать так, чтобы если (например) task
, status
и reoccurring
были null
, то он только создал бы форму, которая имеет только spent_time
и impediments