currently i'm using fast_jsonapi gem for handling API request instead AMS.
But when I want to remove some field from attributes
or add custom field.
It won't appear, and the output will return all field related to the model.
class Api::V1::LicensesController < ApiController
api :GET, "/v1/licenses", "get Listing licenses"
formats ['json']
def index
render json: License.all, status: :ok
end
end
class LicenseSerializer
include FastJsonapi::ObjectSerializer
attributes :code, :module
end
[
{
"id":6011,
"code":"TBI-DA",
"module":"Data Accessing",
"amount":"1 lisensi server",
"serial_number":"serial_6011",
"created_at":"2018-07-30T11:13:22.002+07:00",
"updated_at":"2018-07-30T11:13:22.002+07:00"
},
{
"id":6012,
"code":"TBI-DAP",
"module":"Dashboard Analytical Processing",
"amount":"200 lisensi pengguna",
"serial_number":"serial_6012",
"created_at":"2018-07-30T11:13:22.018+07:00",
"updated_at":"2018-07-30T11:13:22.018+07:00"
}
]
[
{
"id":6011,
"code":"TBI-DA",
"module":"Data Accessing"
},
{
"id":6012,
"code":"TBI-DAP",
"module":"Dashboard Analytical Processing"
}
]
Did I miss some configuration ? I think, i've followed the right instruction based on gem documentation.
Any suggestion guys ? I'll really appreciate any kind of help :)
Looks like using Fast JSON API
as ActiveModelSerializers
. Documentation hasn't any references to upgrading ActiveModel
. So, render json: License.all, status: :ok
not evoke LicenseSerializer
.
Try next:
render json: LicenseSerializer.new(License.all).serializable_hash, status: :ok