#dart #post #aqueduct
#dart #Публикация #aqueduct
Вопрос:
Я создаю свой первый API с помощью Aqueduct и базы данных PostgreSQL. Чтобы протестировать свою конечную точку, я использую Postman на локально работающем сервере. Запросы GET работают, как и ожидалось, но запрос POST завершается с ошибкой missing Body:
{
"error": "missing required Body ''"
}
это и есть метод:
@Operation.post()
Future<Response> addAlert(@Bind.body(ignore: ['id']) Alert newAlert) async {
print('incoming alert to save is $newAlert');
final query = Query<Alert>(context)
..values = newAlert;
final alert = await query.insert();
// return Response.ok(alert);
return alert != null
? Response.ok(alert)
: Response.badRequest();
}
и это и есть Модель:
class Alert extends ManagedObject<_Alert> implements _Alert{}
class _Alert {
@primaryKey
int id;
@Column(unique: false)
String name;
@Column(unique: false,nullable: true, indexed: true)
String city;
@Column(unique: false,nullable: true, indexed: true)
String region;
@Column(unique: false,nullable: true, indexed: true)
String country;
@Column(unique: false, nullable: true, indexed: true)
int date;
@Column(unique: false, nullable: true, indexed: true)
String description;
@Column(unique: false, nullable: true, indexed: true)
String alertIcon;
@Column(unique: false, nullable: true, indexed: true)
String latitude;
@Column(unique: false, nullable: true, indexed: true)
String longitude;
@Column(unique: false, nullable: true, indexed: true)
String alertImageName;
@Column(unique: false, nullable: true, indexed: true)
String alertImageUrl;
@Column(unique: false, nullable: true, indexed: true)
String userName;
@Column(unique: false, nullable: true, indexed: true)
int utilityPoints;
@Column(unique: false, nullable: true, indexed: true)
int votesToDelete;
}
В Postman я установил хост localhost:8888/alerts
как для запросов Get, выбрал Content-Type application/json
заголовок и raw JSON
тело, которое :
{
"name":"postman",
"city":"Bologna",
"region":"Emilia-Romagna",
"country":"Italy",
"date":1111111,
"description":"test",
"alertIcon":"test",
"latitude":"11.111",
"longitude":"22.222",
"alertImageName":"test",
"alertImageUrl":"jjj",
"userName":"user",
"utilityPoints":1,
"votesToDelete":1
}
Можете ли вы определить, почему отсутствует тело?
Большое спасибо.