Laravel 5.7: как сделать JSON-пост-запрос в жрете? - PullRequest
0 голосов
/ 05 января 2019

Это мой код, я хочу создать новый магазин в Geoserver

 public function post_store(String $name) {

      $client = new Client();
     $res = $client->request('POST', 'http://localhost:8080/geoserver/rest/workspaces/' . $name . '/datastores', [
         'auth' => ['admin', 'geoserver'],
         'json' => [
             'dataStore' => [
                 'name' => $name,
                 'connectionParameter' => [
                     'entry' => [
                         '@key' => 'host', '$' => 'localhost',
                         '@key' => 'port', '$' => 5432,
                         '@key' => 'database', '$' => 'nyc',
                         '@key' => 'user', '$' => 'shee',
                         '@key' => 'passwd', '$' => 'postgres',
                         '@key' => 'dbtype', '$' => 'postgis',
                     ]
                 ]
             ]
         ] 

     ]);
 }

и результатом является ошибка

   Server error: `POST http://localhost:8080/geoserver/rest/workspaces/pertanian/datastores` resulted in a `500 Server Error` response: <html> <head> <meta http- equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Error 500 
   Server Error</title> (truncated...)

Но я попробовал с POSTMAN, используя код JSON:

  {
 "dataStore": {
   "name": "nyc",
   "connectionParameters": {
     "entry": [
       {"@key":"host","$":"localhost"},
       {"@key":"port","$":"5432"},
       {"@key":"database","$":"nyc"},
       {"@key":"user","$":"shee"},
       {"@key":"passwd","$":"postgres"},
       {"@key":"dbtype","$":"postgis"}
     ]
   }
 }
  }

И это работает.

Кто-нибудь может мне помочь? Что мне делать с моим кодом? ._. Спасибо, прежде чем

...