Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Jsonrpc Laravel Package

tochka-developers/jsonrpc

Laravel package for building JSON-RPC 2.0 APIs, with server and client support, route registration, middleware, validation, and structured error handling. Expose PHP classes as RPC methods and call remote JSON-RPC services.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Updated assessment tracks v6.0.0-beta.2, which adds PHP 8.5 support. This is a compatibility expansion within the v6.0.0 beta line; it does not remove the major breaking changes already introduced in v6.0.0-beta.1.
  • Architecture fit: Attribute-first JSON-RPC/OpenRPC integration remains a good fit for Laravel service-layer APIs. Nested object parameters and field-level ApiValidation improve contract expressiveness. Moving summary/description ownership to OpenRPC still requires a process shift: API documentation metadata must be managed outside the Laravel package config.
  • Integration feasibility: Feasible only on modern runtime targets: Laravel 11+ and PHP 8.3+. PHP 8.5 is now explicitly supported, which reduces runtime-compatibility risk for teams standardizing on newer PHP versions, but PHP 8.2/Laravel 10 remain out of scope. Code migration is still required: every API method must use #[ApiMethod], config keys must be removed, customCasters must be replaced, and JsonRpcController trait usage must be eliminated.
  • Technical risk: High for existing consumers due to breaking changes. Missing ApiMethod attributes can silently hide methods. Validation redesign may alter error contracts. Removing customCasters can break serialization/deserialization. Beta status still adds release instability risk. PHP 8.5 support lowers version-blocker risk for early adopters but does not address migration risk.
  • Key questions: What package version is currently in production? How many API methods rely on JsonRpcController or customCasters? Who owns the OpenRPC spec and metadata? Which client-visible validation/error contracts must remain stable? Is PHP 8.3+/Laravel 11+ acceptable now, and do any target environments require PHP 8.5? What is the beta-to-GA timeline and support policy?

Integration Approach

  • Stack fit: Best suited to Laravel 11+ / PHP 8.3+ services already using JSON-RPC/OpenRPC and willing to adopt attribute-driven API definitions. The package now also fits teams targeting PHP 8.5. It is not a drop-in for Laravel 10 or PHP 8.2 environments.
  • Migration path: Pin the current stable package in production. Create a dedicated v6 migration branch. Inventory all RPC controllers/methods and config usage. Add #[ApiMethod] to every exposed method. Remove summary, description, allowParentMethods, and customCasters config. Replace custom casters with Laravel casts, DTOs, or explicit mapping. Remove deprecated JsonRpcController trait usage. Add PHP 8.5 to the target matrix only if the platform and dependency graph are ready for it.
  • Compatibility: Validate validation behavior for scalar, nested object, and array-of-object parameters. Update contract tests for request/response serialization and error payloads. Confirm OpenRPC generation reads method metadata correctly after config removal. Run the same contract tests on PHP 8.3 and PHP 8.5 if both runtimes are in scope.
  • Sequencing: 1) usage audit and dependency inventory; 2) staging upgrade on Laravel 11+/PHP 8.3+, with PHP 8.5 validation where applicable; 3) codemod ApiMethod attributes; 4) refactor casters and trait usage; 5) pilot ApiValidation on object fields and nested parameters; 6) run regression and client contract tests across the supported PHP matrix; 7) production rollout only after beta/GA decision, with rollback plan.

Operational Impact

  • Maintenance: Major-version maintenance burden remains increased. Beta releases may still change before GA. PHP 8.5 support is useful but expands the runtime test matrix. Assign clear ownership for OpenRPC spec metadata, attribute conventions, and supported PHP version policy.
  • Support: Beta support is likely limited; vendor responsiveness and issue triage matter. PHP 8.5 support helps teams on newer runtimes, while teams on Laravel 10/PHP 8.2 must first upgrade platform dependencies, expanding scope beyond this package.
  • Scaling: No direct scaling concern expected, but nested-object validation and attribute scanning should be benchmarked on high-traffic RPC endpoints if request graphs become deep. PHP 8.5 support alone does not change the scaling profile.
  • Failure modes: Missing ApiMethod can make methods undiscoverable or unrouted. Removed config keys can cause startup/config errors. Removed trait can cause fatal errors. customCasters removal can break parameter/response casting. Validation redesign can break client expectations. Unsupported PHP/Laravel versions block installation; PHP 8.5 is now supported, but other versions remain blocked. Beta regressions may affect nested object handling.
  • Ramp-up: Moderate. Teams need training on attribute-first API definitions, OpenRPC-owned documentation metadata, DTO/nested validation patterns, and client communication for potential error-format or method-exposure changes. PHP 8.5 compatibility does not materially change the ramp-up effort.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle