Generación de una recopilación de Postman con Visual Studio Code
Puede crear una recopilación de Postman que incluya cargas útiles de ejemplo para todas las API del controlador de código de cadenas.
Postman es una herramienta que puede utilizar para trabajar y probar API de REST. El comando generate crea una recopilación Postman basada en el código de cadenas que se generó automáticamente a partir de un archivo de especificaciones declarativas. La recopilación Postman contiene las cargas útiles de todos los métodos especificados en el archivo de controlador de código de cadenas. Puede cambiar los valores de las variables en el archivo de recopilación Postman para realizar llamadas a la API de REST.
La recopilación Postman generada incluye valores por defecto para todas las API del controlador. Para obtener más información sobre Postman, consulte https://www.postman.com/. Después de generar una recopilación de Postman, puede importarla directamente y utilizarla cambiando los valores por defecto en la carga útil y las variables.
Para generar una recopilación de Postman para un proyecto de código de cadenas en Visual Studio Code, complete los pasos siguientes.
- Seleccione el proyecto de código de cadenas en el panel Códigos de cadenas.
- Haga clic con el botón derecho en el nombre del código de cadenas y, a continuación, seleccione Generar cobro postal.
- Seleccione una ubicación en la que guardar la recopilación de Postman y, a continuación, haga clic en Seleccionar carpeta de salida.
Si la recopilación de Postman especificada ya existe, se le preguntará si desea sobrescribirla.
Estructura de la colección Postman
- Las solicitudes de llamada incluyen todas las operaciones de escritura, que utilizan el punto final
/transactions
- Las solicitudes de consulta incluyen todas las operaciones get, que utilizan el punto final
/chaincode-queries
Para diferenciar entre métodos getter y no-getter en las API del controlador, se utiliza un decorador en los códigos de cadenas TypeScript y un comentario en los códigos de cadenas Go. Si define un método getter en el controlador, debe utilizar el decorador GetMethod para TypeScript o el comentario GetMethod para Go, como se muestra en la siguiente tabla.
TypeScript | Go |
---|---|
Cada método getter tiene un decorador GetMethod :
|
Cada método getter tiene un bloque de comentarios GetMethod :
|
Las recopilaciones de Postman generadas incluyen variables con valores por defecto, como se muestra en la siguiente tabla.
Nombre de variable | Descripción | Valor por defecto | Contexto |
---|---|---|---|
bc-url |
URL de proxy REST de la instancia de Oracle Blockchain Platform en la que se despliega el código de cadena | https://test-xyz-abc.blockchain.ocp.oraclecloud.com:7443/restproxy |
todos los códigos de cadenas |
bc-channel |
Canal en el que se despliega el código de cadenas | default |
todos los códigos de cadenas |
bc-admin-user |
Nombre del usuario administrador (un usuario con el rol de administrador que puede acceder a todas las solicitudes POST). Por defecto, este usuario es el emisor de llamada de todas las solicitudes POST del código de cadenas | bc-admin-user value |
todos los códigos de cadenas |
bc-admin-password |
Contraseña para el usuario administrador | bc-admin-password value |
todos los códigos de cadenas |
bc-timeout |
El valor de timeout en el cuerpo de cada solicitud POST para indicar el intervalo de timeout | 6000 |
todos los códigos de cadenas |
bc-sync |
Valor de sincronización en el cuerpo de cada solicitud POST para indicar si la solicitud es síncrona o asíncrona | true |
todos los códigos de cadenas |
bc-chaincode-name |
El nombre del código de cadenas, que se utiliza en cada solicitud POST | chaincode name |
todos los códigos de cadenas |
bc-org-id |
El parámetro orgId por defecto para todas las solicitudes POST
|
bc-org-id value |
solo códigos de cadena de token |
bc-user-id |
El parámetro userId por defecto para todas las solicitudes POST
|
bc-user-id value |
solo códigos de cadena de token |
bc-token-id |
El parámetro tokenId por defecto para todas las solicitudes POST
|
bc-token-id value |
solo códigos de cadena de token |
En cada solicitud generada, se generan todos los parámetros con valores por defecto. Las funciones que tienen parámetros de estructura/clase tendrán un objeto de marcador de posición en el cuerpo de la solicitud, como se muestra en los siguientes ejemplos.
- API con un parámetro de estructura/clase
-
{ "chaincode": "{{bc-chaincode-name}}", "args": [ "CreateArtCollectionToken", "{\"TokenId\":\"{{bc-token-id}}\",\"TokenDesc\":\"TokenDesc value\",\"TokenUri\":\"TokenUri value\",\"TokenMetadata\":{\"Painting_name\":\"Painting_name value\",\"Description\":\"Description value\",\"Image\":\"Image value\",\"Painter_name\":\"Painter_name value\"},\"Price\":999,\"On_sale_flag\":true}", "quantity value" ], "timeout": {{bc-timeout}}, "sync": {{bc-sync}} }
- API sin un parámetro de estructura/clase
-
{ "chaincode": "{{bc-chaincode-name}}", "args": [ "CreateAccount", "{{bc-org-id}}", "example_minter", "true", "true" ], "timeout": {{bc-timeout}}, "sync": {{bc-sync}} }
El valor por defecto para la mayoría de los parámetros de API es parameter_name value
, con algunas excepciones. Los siguientes ejemplos muestran algunas de las excepciones.
- Parámetro de filtros en
GetAccountTransactionHistoryWithFilters
:"{\"PageSize\":20,\"Bookmark\":\"\",\"StartTime\":\"2022-01-16T15:16:36+00:00\",\"EndTime\":\"2022-01-17T15:16:36+00:00\"}"
- Parámetro de filtros en
GetSubTransactionsByIdWithFilters
:"{\"PageSize\":20,\"Bookmark\":\"\}"
Una estructura o clase tiene diferentes valores por defecto, como se muestra en la siguiente tabla:
Tipo de datos | Valor por defecto |
---|---|
boolean/bool |
true |
int/number |
999 |
date |
2022-01-16T15:16:36+00:00 |
other |
parameter_name value |
Proyectos de token ERC-1155
El estándar ERC-1155 incluye métodos comunes para tokens fungibles y no fungibles. La colección Postman generada para un proyecto ERC-1155 que utiliza tokens fungibles y no fungibles incluye dos solicitudes POST diferentes, una para cada tipo de token, para estos métodos comunes. Si un proyecto ERC-1155 utiliza solo tokens fungibles o no fungibles, pero no ambos tipos, la colección Postman generada incluye solo una solicitud POST para estos métodos comunes. En la siguiente tabla se muestra la API generada para el métodoAddRole
.
Elemento de solicitud | Tokens fungibles | Tokens no fungibles |
---|---|---|
Nombre de Solicitud | AddRole -For Fungible |
AddRole -For NonFungible |
Cuerpo de Solicitud |
|
|