簡體   English   中英

使用 postman 和 android 將 json 發送到 Laravel

[英]send json to Laravel using postman and android

我正在嘗試使用郵遞員將 json 發送到 Lavavel,但我遇到了這個錯誤。

在此處輸入圖像描述這是我的 json 代碼:

{
    "email":"test@test.com",
    "password":"testtest"
}

這是 Laravel 代碼:

Route::get('/r','test@store');

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Log;
class test extends Controller
{
    public function store(Request $request)
    {
        $email = $request->input('email');
        $password = $request->input('password');

        Log::info('test');
        Log::info($email);
        Log::info($password);

        DB::table('login')->insert([
            ['email' =>  $email],
            ['password' =>  $password]
        ]);
    }
}

我也嘗試使用 android 使用 volley 發送數據,因此檢查了 Laravel 日志:

Column 'email' cannot be null (this is Laravel logs)

並在 android 日志上:

E/Volley:[299] BasicNetwork.performRequest: http : //192.168.1.4 :8000/r 的意外響應代碼 500 D/錯誤:com.android.volley.ServerErro

我的安卓代碼是:

public class ApiService {


    private final Context context;

    public ApiService(Context context){
        this.context=context;
    }

            public void loginUser(String email, String password, final OnLoginResponse onLoginResponse){
                JSONObject requestJsonObject=new JSONObject();
                try {
                    requestJsonObject.put("email",email);
                    requestJsonObject.put("password",password);


                    JsonObjectRequest request=new JsonObjectRequest(Request.Method.GET, "http://192.168.1.4:8000/r",requestJsonObject , new Response.Listener<JSONObject>() {
                        @Override
                        public void onResponse(JSONObject response) {
                            Log.d("response",response.toString());
                        }

                    }, new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Log.d("error",error.toString());
                        }
                    }) {
                        @Override
                        public Map getHeaders() throws AuthFailureError {
                            HashMap headers = new HashMap();
                            headers.put("Content-Type", "application/json");
                            return headers;
                        }
                    };
                    request.setRetryPolicy(new DefaultRetryPolicy(18000,DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
                    Volley.newRequestQueue(context).add(request);
                } catch (JSONException e) {
                    Log.e(TAG, "loginUser: "+e.toString());
                }
            }

    public interface OnLoginResponse{
        void onResponse(boolean success);
    }
}

我希望這可以幫助人們嘗試搜索如何將 JSON 數據發送到 Laravel,不僅針對 Android 應用程序,而且針對所有應用程序。 此解決方案的目標是確定您是否可以向 laravel 發送 JSON 數據。

首先,您必須從https://www.getpostman.com/下載郵遞員以測試您的 API 是否真的有效。

使用郵遞員創建發布請求。 請確保您遵循以下示例數據在此處輸入圖片說明

確保您設置了將關聯到控制器的路由在此處輸入圖片說明

這是控制器部分,它將顯示您發送的 JSON 數據是否被成功接受。 在此處輸入圖片說明

而且,如果您嘗試將 POST 數據發送到 laravel,默認情況下,他們提供了一個 CSRF 令牌,如果您打算使用 laravel 的 MVC,則該令牌適用於表單。 與此同時,我們將把它刪除並注釋掉。 只需轉到 app/http/kernel.php 在此處輸入圖片說明

現在您將從之前的代碼中獲得以下結果

$json = json_decode($request['json']);
echo $json->{'email'};
echo "\n";
echo $json->{'password'};

在此處輸入圖片說明 我們測試了我們能夠將數據發送到 Laravel。 我希望這真的有幫助。

如果您要發送數據,則需要在郵遞員上使用POST或PUT方法,特別是如果您要發送正文,則意味着您正在發送數據。 Get方法用於從服務檢索數據。 請查看CRUD函數以獲取更多信息。 您的郵遞員應該看起來像這樣

最后在您的Android代碼中嘗試更改此行

JsonObjectRequest request=new JsonObjectRequest(Request.Method.GET, "http://192.168.1.4:8000/r",requestJsonObject , new Response.Listener<JSONObject>() {

使用Request.Method.POST

Postman 發送 JSON Object 包含列表<object><div id="text_translate"><p>我目前正在從事一個項目,在該項目中,其他人編寫的當前實現采用包含可以解釋為其他 4 種 Object 類型的列表的消息,如其 XmlElements 列表中所述。 我目前正在為此編寫 Rest 實現,我的問題是 Postman 是否可以發送包含 Object 類型列表的消息正文。 當我發送一個原始的 JSON 主體進行測試時,我收到了我的 object,但它的列表是 null。</p><p> 這是只有一種類型的消息的示例。</p><pre class="lang-json prettyprint-override"> { "listObject": [ { "type1":{ "var1": "String", "var2": "String", "var3": "Instance", "var4": "String", "var5": "String", "var6": Integer, } } ] }</pre><p> 這是我接收帖子的代碼</p><pre class="lang-java prettyprint-override">@RestController public class ExampleRestController{ @Autowired ServiceObject service; @PostMapping(value="path/example", produces=MediaType.APPLICATION_JSON_VALUE) public ResponseType example(@RequestBody ExampleObj obj){ return service.handleObj(obj); } } public class ExampleObj{ protected List&lt;Object&gt; listObject; public List&lt;Object&gt; getListObject{ if(listObject == null) listObject = new ArrayList&lt;Object&gt;(); return listObject; } }</pre><p> 在編寫消息正文時,我確保使用我正在嘗試測試的 object 的變量名稱,但是當我測試時,我收到一個列表 null。</p><p> 是否可以使用 Postman 發送類型為 Object 的列表?</p></div></object>

[英]Postman send JSON Object containing List<Object>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 使用郵遞員將 Json 發送到 springboot 如何使用郵遞員使用包含地圖的 JSON 發送 POST 請求? 郵遞員發送原始json不起作用 使用 GET 請求將字符串作為 json 發送 POSTMAN 將 JSON Object 從 Postman 發送到 Restful webservices Postman 發送 JSON Object 包含列表<object><div id="text_translate"><p>我目前正在從事一個項目,在該項目中,其他人編寫的當前實現采用包含可以解釋為其他 4 種 Object 類型的列表的消息,如其 XmlElements 列表中所述。 我目前正在為此編寫 Rest 實現,我的問題是 Postman 是否可以發送包含 Object 類型列表的消息正文。 當我發送一個原始的 JSON 主體進行測試時,我收到了我的 object,但它的列表是 null。</p><p> 這是只有一種類型的消息的示例。</p><pre class="lang-json prettyprint-override"> { "listObject": [ { "type1":{ "var1": "String", "var2": "String", "var3": "Instance", "var4": "String", "var5": "String", "var6": Integer, } } ] }</pre><p> 這是我接收帖子的代碼</p><pre class="lang-java prettyprint-override">@RestController public class ExampleRestController{ @Autowired ServiceObject service; @PostMapping(value="path/example", produces=MediaType.APPLICATION_JSON_VALUE) public ResponseType example(@RequestBody ExampleObj obj){ return service.handleObj(obj); } } public class ExampleObj{ protected List&lt;Object&gt; listObject; public List&lt;Object&gt; getListObject{ if(listObject == null) listObject = new ArrayList&lt;Object&gt;(); return listObject; } }</pre><p> 在編寫消息正文時,我確保使用我正在嘗試測試的 object 的變量名稱,但是當我測試時,我收到一個列表 null。</p><p> 是否可以使用 Postman 發送類型為 Object 的列表?</p></div></object> 使用 Postman 驗證 JSON 架構 使用郵遞員解析和映射json 郵遞員正在工作,無法在Android上發送原始數據 使用JSON將Android中的字符串發送到PHP
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM