-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Server code
// DB Model
class User
{
public uint Id { get; set; }
public string? StatusMessage { get; set; } // nullable
}
// HTTP Model
[TranspilationSource]
class UpdateUserRequest
{
public int UserId { get; set; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public Optional<string?> StatusMessage { get; set; }
}
// Controller
[HttpPatch]
public IActionResult UpdateUser(UpdateUserRequest request)
{
var user = DB.FindUserById(request.UserId);
// if status_message is provided, update it
if (request.StatusMessage.HasValue) {
user.StatusMessage = request.StatusMessage;
DB.Update(user);
}
// if (request.Prefecture.HasValue) { /* ... */ }
// if (request.FirstName.HasValue) { /* ... */ }
// if (request.LastName.HasValue) { /* ... */ }
// if (request.BirthDay.HasValue) { /* ... */ }
// ...
}HTTP Request example
PATCH /api/user HTTP/1.1
Content-Type: application/json
{ "user_id": 1, "status_message": "I'm fine" }I want to know JSON string parameter is null or undefined.
For example,
| Request | Update DB? |
|---|---|
{ "user_id": 1, "status_message": "I'm fine" } |
Yes. Value is I'm fine |
{ "user_id": 1, "status_message": "" } |
Yes. Value is `` |
{ "user_id": 1, "status_message": null } |
Yes. Value is null |
{ "user_id": 1 } |
No. |
But, Tapper is not supported it.
Could you support it?
Or, do you have some other good ideas?
Ref:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels