mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-15 19:52:52 -06:00
Closes #2671: Add documentation of API brief format
This commit is contained in:
parent
3480832bf5
commit
785cdcefd6
@ -104,7 +104,7 @@ The base serializer is used to represent the default view of a model. This inclu
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Related objects (e.g. `ForeignKey` fields) are represented using a nested serializer. A nested serializer provides a minimal representation of an object, including only its URL and enough information to construct its name. When performing write api actions (`POST`, `PUT`, and `PATCH`), any `ForeignKey` relationships do not use the nested serializer, instead you will pass just the integer ID of the related model.
|
Related objects (e.g. `ForeignKey` fields) are represented using a nested serializer. A nested serializer provides a minimal representation of an object, including only its URL and enough information to construct its name. When performing write api actions (`POST`, `PUT`, and `PATCH`), any `ForeignKey` relationships do not use the nested serializer, instead you will pass just the integer ID of the related model.
|
||||||
|
|
||||||
When a base serializer includes one or more nested serializers, the hierarchical structure precludes it from being used for write operations. Thus, a flat representation of an object may be provided using a writable serializer. This serializer includes only raw database values and is not typically used for retrieval, except as part of the response to the creation or updating of an object.
|
When a base serializer includes one or more nested serializers, the hierarchical structure precludes it from being used for write operations. Thus, a flat representation of an object may be provided using a writable serializer. This serializer includes only raw database values and is not typically used for retrieval, except as part of the response to the creation or updating of an object.
|
||||||
|
|
||||||
@ -122,6 +122,52 @@ When a base serializer includes one or more nested serializers, the hierarchical
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Brief Format
|
||||||
|
|
||||||
|
Most API endpoints support an optional "brief" format, which returns only a minimal representation of each object in the response. This is useful when you need only a list of the objects themselves without any related data, such as when populating a drop-down list in a form.
|
||||||
|
|
||||||
|
For example, the default (complete) format of an IP address looks like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
GET /api/ipam/prefixes/13980/
|
||||||
|
|
||||||
|
{
|
||||||
|
"id": 13980,
|
||||||
|
"family": 4,
|
||||||
|
"prefix": "192.0.2.0/24",
|
||||||
|
"site": null,
|
||||||
|
"vrf": null,
|
||||||
|
"tenant": null,
|
||||||
|
"vlan": null,
|
||||||
|
"status": {
|
||||||
|
"value": 1,
|
||||||
|
"label": "Active"
|
||||||
|
},
|
||||||
|
"role": null,
|
||||||
|
"is_pool": false,
|
||||||
|
"description": "",
|
||||||
|
"tags": [],
|
||||||
|
"custom_fields": {},
|
||||||
|
"created": "2018-12-11",
|
||||||
|
"last_updated": "2018-12-11T16:27:55.073174-05:00"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The brief format is much more terse, but includes a link to the object's full representation:
|
||||||
|
|
||||||
|
```
|
||||||
|
GET /api/ipam/prefixes/13980/?brief=1
|
||||||
|
|
||||||
|
{
|
||||||
|
"id": 13980,
|
||||||
|
"url": "https://netbox/api/ipam/prefixes/13980/",
|
||||||
|
"family": 4,
|
||||||
|
"prefix": "192.0.2.0/24"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The brief format is supported for both lists and individual objects.
|
||||||
|
|
||||||
## Static Choice Fields
|
## Static Choice Fields
|
||||||
|
|
||||||
Some model fields, such as the `status` field in the above example, utilize static integers corresponding to static choices. The available choices can be retrieved from the read-only `_choices` endpoint within each app. A specific `model:field` tuple may optionally be specified in the URL.
|
Some model fields, such as the `status` field in the above example, utilize static integers corresponding to static choices. The available choices can be retrieved from the read-only `_choices` endpoint within each app. A specific `model:field` tuple may optionally be specified in the URL.
|
||||||
|
Loading…
Reference in New Issue
Block a user