Api-blueprint: JSON-RPC рдХреЗ рд▓рд┐рдП URI рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЕрдкреНрд░реИрд▓ 2014  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: apiaryio/api-blueprint

JSON-RPC рдФрд░ рдЕрдиреНрдп RPC- рдЬреИрд╕реЗ API рдореЗрдВ рдЕрдХреНрд╕рд░ рдХреЗрд╡рд▓ рдПрдХ рд╣реА URI рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╢рд░реАрд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рдЗрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдХрдИ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рджреЛрдиреЛрдВ рд╕рдВрдкрд╛рджрдХ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдирд╣реАрдВ рджреЗрдВрдЧреЗ рдФрд░ рдПрдкреАрдЖрдИ рдХрдВрд╕реЛрд▓ рдЙрдЪрд┐рдд рдЕрддрд┐рднрд╛рд░рд┐рдд рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдЧрд╛ред

рд╕рднреА 11 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

apiary.io рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

@rodriguise рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ? рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЖрд░рдкреАрд╕реА рдЬреИрд╕реА рдПрдкреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдЧреАред

@rodriguise рдореБрдЭреЗ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рднреА рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реВрдВ?

@adammbalogh @SvyatoslavVasiliev рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХрд╛ рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@pksunkara рдпрдХреАрди рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ JSON-RPC 2.0 рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ API рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

рдкреЛрд╕реНрдЯ http://somehost.com/rpc_api

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "entity.get",
  "params": {
    "filter": {
      "filters": [
        {
          "field": "name",
          "operator": "eq",
          "value": "Bob"
        },
        {
          "field": "age",
          "operator": "eq",
          "value": 25
        }
      ],
      "condition": "and"
    }
  }
}

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдпреВрдЖрд░рдПрд▓ рд╣реИ, рдЬрд╣рд╛рдВ "рд╡рд┐рдзрд┐" рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рд╢рд░реАрд░ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИрдВред
рдкрде-рдХреЗрдВрджреНрд░рд┐рдд рднрд╛рд╖рд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдХрд╛рд░рдг рд╡рд░реНрддрдорд╛рди рдмреНрд▓реВрдкреНрд░рд┐рдВрдЯ рдкреНрд░рд╛рдкреНрддрд┐ рдРрд╕реЗ рдПрдкреАрдЖрдИ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред

рд╣рд╛рдп @pksunkara , рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЦрдмрд░ рд╣реИ?
рдореИрдВрдиреЗ рдПрдкрд┐рдпрд░реА рдХреЗ рдмрдЬрд╛рдп рдЕрдиреНрдп рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЯреВрд▓реНрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдЧреНрд▓рд┐рдпреЛ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдкрд┐рдпрд░реА рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╡реЗ рдЙрдкрдХрд░рдг рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдЬреИрд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдХреЛ рдЕрд▓рдЧ рдЕрдиреБрднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдЕрд░реЗ @SvyatoslavVasiliev рддреЛ рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝рддрд╛ рд╣реВрдВ рддреЛ JSON RPC рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдерди https://github.com/apiaryio/api-blueprint/issues/289 рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖ рд░рд╣рд╛ рд╣реИ, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрднреА рднреА HTTP рд╣реИред

рдпреВрдЖрд░рдЖрдИ рдФрд░ рдПрдЪрдЯреАрдЯреАрдкреА рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рд╕реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ? рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ #289 рджреЗрдЦреЗрдВ

рд╣рд╛рдп @zdne ,
рдореИрдВрдиреЗ #289 рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред
рдореЗрд░рд╛ рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ JSON рдмреЙрдбреА рдХреЗ рд╕рд╛рде HTTP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ URL рд╣реИ рдФрд░ рдХреЗрд╡рд▓ HTTP POST рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╢рд░реАрд░ рдореЗрдВ "рд╡рд┐рдзрд┐" рдкрд░рдо рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рдВрд╕рд╛рдзрди рдФрд░ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реАред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдХрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
{ "jsonrpc": "2.0", "id": 1, "method": "entity.get", "params": { "filter": { "filters": [ { "field": "name", "operator": "eq", "value": "Bob" }, { "field": "age", "operator": "eq", "value": 25 } ], "condition": "and" } } }

рдЗрдХрд╛рдИ рд╣рдЯрд╛рдПрдВ:
{ "jsonrpc": "2.0", "id": 1, "method": "entity.delete", "params": { "id": "123" } }

рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ HTTP POST рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ http://myservice.com/rpcapi

рдЕрдм рддрдХ рдореБрдЭреЗ JSON-RPC API рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрдзреБрдирд┐рдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ (рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ)ред рдореЗрд░реА рдЖрд╢рд╛ рдПрдкреАрдЖрдИ рдмреНрд▓реВрдкреНрд░рд┐рдВрдЯ рдереА рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреЗ рдПрдкреАрдЖрдИ рдмреНрд▓реВрдкреНрд░рд┐рдВрдЯ рдХреА рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд░рдЪрдирд╛/рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ?

@Dynom рдореИрдВ рдпреБрдЧрд▓ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред
рдЖрдк рдПрдкреАрдЖрдИ рдмреНрд▓реВрдкреНрд░рд┐рдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдЧреНрд▓рд┐рдпреЛ рд░реЗрдВрдбрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЕрдиреБрднрд╛рдЧ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдПрдкреАрдЖрдИ рдбреЙрдХ рд╣реИ , рдореИрдВ рд╡рд░реНрддрдорд╛рди рдХреНрд╖рдг рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЙрдкрдпреБрдХреНрдд рд▓рдЧрддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @SvyatoslavVasiliev рдореИрдВ рдЗрдирд▓рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдФрд░ рдПрдкреАрдЖрдИ рдбреЙрдХреНрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░реАрд╕реНрдЯрдлреБрд▓ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

fgblomqvist picture fgblomqvist  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

annappropriate picture annappropriate  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zatziky picture zatziky  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bazo picture bazo  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bennettellis picture bennettellis  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ