setConsumption()
должно иметь только data
в качестве тела PUT вместо data[0]
.
setConsumption(data: consumption) {
return new Promise((resolve, reject) => {
this.http.put(`http://localhost:8080/savukelaskuri/webresources/kulutukset/${data.date}`, data)
.subscribe((data) => {
resolve(data);
}, (error) => {
reject(error);
});
})
}
В классе ConsummptionResource
для putJson () вместо типа string
String consumption = json.getString("kulutus");
consumption
необходимо указать целое число
int consumption = json.getint("kulutus");
Вы могли бы хотеть взглянуть на pwd модуль в Python stdlib, например:
import pwd
pw = pwd.getpwnam("nobody")
uid = pw.pw_uid
это использует/etc/passwd (хорошо, технически это использует posix C API, таким образом, я предполагаю, что это могло бы работать над ОС, если бы это не использовало/etc/passwd, но выставило необходимые функции), но является более чистым, чем парсинг его вручную
Никогда непосредственно сканирование /etc/passwd
.
Например, в системе Linux я администрирую, учетные записи пользователей не включены /etc/passwd
, но на сервере LDAP.
Корректный путь состоит в том, чтобы использовать getpwent
/getgrent
и связанные функции C (как в ответе @TFKyle), который получит информацию о корректном пути к каждой системе (на Linux glibc, это читает /etc/nsswitch.conf
знать который динамические библиотеки NSS загрузиться для получения информации).