1. Вы вызываете метод Password в первом случае.
2. В параметрах методов контроллеров должна быть модель данных которые передаете, типа
class Book
{
public string Name {get; set;}
public int Price {get; set;}
}
public async Task<IActionResult> Settings([FromBody] Book[] books)
{
return Ok()
}
3. RestApi строится не таким образом, в контроллере должны быть методы которые отвечают за CRUD операции и соответственно выполняются разными типами запросов, GET - выборка данных, POST - добавление данных, PUT - Модификация, DELETE - удаление. И один контроллер отвечает за работу только с одним типом данных, те если у вас UsersController, то работа идет только с типом Users,
4. Возвращайте из контроллера IActionResult, У контроллера есть несколько методов типа Ok, BadRequest, NotFound, NoContent. Соответственно они устанавливают статус ответа (200,404 и т.д.), что вам понадобится для обработки ошибок
5. Вот как пример контроллера RestAPI -
https://pastebin.com/PykpEGWP, те если у вас методы контроллера должны отправлять и принимать только тип User и с клиента отправляете только его.