प्रौद्योगिकी साझेदारी

स्वचालन (द्वितीय स्तर) ९.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

जावा-अन्तरफलक-स्वचालनस्य कृते प्रयुक्तः प्रौद्योगिकी-स्टैक्

प्रौद्योगिकी ढेर सारांशः : १.
1जावा मूलभूताः (एनकैप्सुलेशन, रिफ्लेक्शन, जेनेरिक्स्, jdbc)
२ विन्याससञ्चिकाविश्लेषणम् (गुणाः) २.
3httpclient (http अनुरोधं प्रेषयन्तु) .
4Fastjson तथा jsonpath दत्तांशं संसाधयन्ति
5testng स्वचालितपरीक्षणरूपरेखायाः प्रमुखबिन्दवः
6allure परीक्षण प्रतिवेदन

प्रथमः वर्गः : http अनुरोधसम्बद्धः (fastjson, jsonpath, httpclient)

सज्जी करोतु

maven परियोजना रचयन्तु

1प्रथमं maven परियोजनां रचयन्तु, newPROJECT–Maven—groupid----finish कुर्वन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

2पुनः maven विन्यासं पश्यन्तु

सञ्चिका—सेटिंग्स्—मेवेन्
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Fastjson तथा jsonpath इत्येतयोः उपयोगः आँकडानां संसाधनार्थं भवति ।
स्वचालनरूपरेखायाः परीक्षणस्य केन्द्रबिन्दुः।
allure test report

1. fastjson (अनुप्रयोग परिदृश्यम्: json स्ट्रिंग्स् तथा इनपुट् पैरामीटर्स् इत्यस्य स्ट्रिंग् सरणीनां विश्लेषणम्)

fastjson json स्ट्रिंग् तथा json सरणीं संसाधयति
json स्ट्रिंग् इनपुट् पैरामीटर्स् पार्स् कृत्वा अनन्तरं अनुरोधानाम् सज्जतां कुर्वन्तु

1आश्रयम्

<!-https://mvnrepository.com/artifact/com.alibaba/fastjson -->
कॉम.अलिबाबा
fastison
1.2.75

2आश्रिताः योजयन्तु आश्रिताः च स्वयमेव उत्पद्यन्ते

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अवतरणं कृत्वा स्वयमेव उत्पन्नं निर्भरतासङ्कुलं द्रष्टुं शक्नुवन्ति ।

1.1.उदाहरणम् (json स्ट्रिंग् इनपुट् पैरामीटर्स्, json स्ट्रिंग् एरे इनपुट् पैरामीटर्स् इति विश्लेषणं कुर्वन्तु)

1.1.1.json स्ट्रिंग् इनपुट् पैरामीटर्स् पार्स् कुर्वन्तु

यथा, प्रवेशार्थं उपयोक्तृनाम गुप्तशब्दं च आवश्यकम् ।
{“उपयोक्तृनाम”:“qzcsbj”, “गुप्तशब्द”:“123456”}

स्वचालनरूपरेखा आँकडा स्रोतः, निवेशमापदण्डाः सर्वे json स्ट्रिंग् सन्ति, fastjson इत्यस्य उपयोगः आवश्यकः

Step 1: package name, class name रचयन्तु, main method रचयन्तु च

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Step 2: एकं string variable परिभाषयन्तु, अत्र json string अस्ति यस्य parsed करणीयम् अस्ति
Step 3: json string इत्यस्य processing कृते प्रथमं jsonObject object इत्यत्र parse कृत्वा ततः Map मध्ये स्थापयन्तु
1)प्रथमं HashMap रचयन्तु, कीलः मूल्यं च द्वौ अपि String स्तः

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

2) स्ट्रिंग् इत्यस्य विश्लेषणं कुर्वन्तु अत्र JSONObjetct.parseObject इत्यस्य उपयोगः भवति, तथा च रिटर्न् वैल्यू JSONObject प्रकारः अस्ति ।

Class.Method, एषा विधिः स्थिरः अस्ति

3) कील प्राप्तुं jsonObjetc.keySet मेथड् प्रत्यक्षतया उपयुज्यताम् अर्थात् Set संग्रहं प्राप्नुवन्तु

संग्रहे प्रत्येकं कीलं String अस्ति

४) पुनः Traverse, traversed कीलद्वारा मूल्यं प्राप्नुवन्तु, ततः कीलं मूल्यं च Map मध्ये स्थापयन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

इदानीं परिभाषितं json स्ट्रिंग् पार्स् कृत्वा Map मध्ये स्थापितं अस्ति
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

५) मानचित्रे स्थापितां सामग्रीं सत्याप्य मानचित्रे कुञ्जीं प्राप्नुवन्तु

json स्ट्रिंग् इत्यस्य सामग्रीं नक्शे स्थापयितुं निर्देशाः
blog.csdnimg.cn/प्रत्यक्ष/ae6feeba2eae442f961df977a6c8eac1.jpeg)

1.1.2.json स्ट्रिंग् एरे इनपुट् पैरामीटर्स् पार्स् कुर्वन्तु

स्वचालनरूपरेखायां आरम्भरूपरेखा अन्तर्भवति, केषाञ्चन अन्तः दत्तांशस्य उपरि कार्याणि आवश्यकानि भवन्ति ।दत्तांशकोशस्य संचालनाय भवद्भिः sql इति लिखितव्यम्
अत्र json सरणी अस्ति ।

[{“sqlNo”:“1”,“sq!”:“उपयोक्तृभ्यः * चयनं कुर्वन्तु यत्र उपयोक्तृनाम='qzcsbj';”},.“sqlNo”:“2”,“sql”:“प्रयोक्तृभ्यः * चयनं कुर्वन्तु यत्र उपयोक्तृनाम ='परीक्षण००५०१';”}]

Step 1: package name, class name रचयन्तु, main method रचयन्तु च
Step 2: एकं string variable परिभाषयन्तु, अत्र json string array अस्ति यस्य parsed करणीयम् अस्ति
विधिः 1 (सल्लाहः नास्ति): स्ट्रिंग् JSONObjetct.parseArray(String text) इत्यस्य विश्लेषणं कुर्वन्तु, रिटर्न् वैल्यू JSONArray अस्ति
१) स्ट्रिंग् पार्स् कुर्वन्तु, अत्र JSONObjetct.parseArray इत्यस्य उपयोगः भवति

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

२) प्रत्यक्षं भ्रमणं, प्रत्येकं तत्त्वं Object प्रकारस्य भवति, मुद्रितं च json वर्णद्वयं अपि भवति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

3) json स्ट्रिंग् मध्ये sql मूल्यं मुद्रयन्तु अत्र get अथवा set मेथड्स् न सन्ति, परन्तु कस्यचित् कीलस्य सामग्रीं न प्राप्नुवन्ति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
एषः विधिः न प्रशस्तः

विधिः 2: JSONObjetct.parseArray(String text, Class clazz), रिटर्न् वैल्यू List &lt; T &gt;, रिटर्न् प्रकारः List, रिटर्न् एलिमेण्ट् च HashMap अस्ति

द्वौ पैरामीटर् पारयन्तु, प्रथमः पैरामीटर् विश्लेषणीयः String, द्वितीयः पैरामीटर् च बाइटकोड् सञ्चिका अस्ति ।
समाधानम् अस्ति : प्रथमं पैरामीटर् String इत्येतत् Map मध्ये विश्लेषणं कुर्वन्तु

1) प्रत्येकं तत्वं hashmap ऑब्जेक्ट् मध्ये Encapsulate कुर्वन्तु JSONObjetct.parseArray(String text, Class clazz) इत्यस्य उपयोगः अत्र स्ट्रिंग् एरे इत्यस्य विश्लेषणार्थं भवति ।
२) Get sqlNo, sql एकः HashMap प्रकारः अस्ति, भवान् get मेथड् इत्यस्य उपयोगं कर्तुं शक्नोति

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

3) अत्र कोऽपि कील-मूल्यं वा प्रकारः न प्राप्तः ।
४) अर्थात् sql इत्यस्मिन् json स्ट्रिंग् इत्यस्मिन् प्रत्येकं कीलस्य अनुरूपं मूल्यं प्राप्यते ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

५) एषा पद्धतिः अपर्याप्तः अस्ति: json स्ट्रिंग् मध्ये कीलानि अत्र प्रदर्शयितुं आवश्यकानि सन्ति यदि बहवः सन्ति तर्हि कष्टप्रदं भविष्यति ।
 String sqlNo = (String)sql.get("sqlNo");
  • 1
विधिः ३ : विधिः २ मध्ये ५ अभावस्य समाधानार्थं प्रयुक्तः, सामान्यतया एन्कैप्सुलेशनस्य उपयोगेन

प्रत्येकं json स्ट्रिंग् मध्ये सामग्रीं ऑब्जेक्ट् l मध्ये एन्कैप्सुलेट् कुर्वन्तु, entity क्लास् मध्ये get तथा ​​set मेथड् योजयन्तु, तथा च sql इत्यस्य सामग्रीं प्राप्तुं प्रत्यक्षतया object.get इत्येतत् योजयन्तु। स्वचालनम् अपि अस्य एन्कैप्सुलेशनस्य सन्दर्भं ददाति । अर्थात् sql इत्यस्य वस्तुनि समाहितं कर्तुं,
गुणं निजी (sqlNo, sql) इति रूपेण एन्कैप्सुलेटं कुर्वन्तु, get तथा ​​set मेथड्स् प्रदातुं, पैरामीटराइज्ड् निर्माणविधयः, पैरामीटर्रहितनिर्माणविधयः च योजिताः भवेयुः, तथा च रिफ्लेक्शन् पैरामीटर्रहितनिर्माणविधयः समायोजयिष्यति यदि भवान् केवलं पैरामीटर्-सहितं पैरामीटर् लिखति तथा च पैरामीटर्-रहितं कन्स्ट्रक्टर् न लिखति तर्हि स्ट्रिंग्-परिणामं मुद्रयितुं, भवान् toString() मेथड् योजयितुं प्रवृत्तः भविष्यति, अन्यथा ऑब्जेक्ट् इत्यस्य पता The मुद्रितः भविष्यति above entity class इति लिखितम् अस्ति।

पुनः अनुकूलितं कुर्वन्तु
यदि तत्त्वं वस्तुनि समाहितं भवति तर्हि तत् yourself.class इत्यनेन लिखितवर्गे परिवर्तते
तत् sql.class इति

1) एकं sql javabean परिभाषयन्तु: sql वर्गे sqlNo, sql इति विशेषताः सन्ति, ततः get, set methods, construction methods, toString() methods च योजयन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तुअत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

2) प्रत्येकं json स्ट्रिंग् sql ऑब्जेक्ट् (Test02), JSONObjetct.parseArray(String text, Class clazz) इत्यस्मिन् एन्कैप्सुलेट् कुर्वन्तु, रिटर्न् वैल्यू List &lt; T &gt;, रिटर्न् प्रकारः List अस्ति, रिटर्न् एलिमेण्ट् च sql ऑब्जेक्ट् अस्ति

उपरि द्वितीयः विधिः प्रत्येकं एलिमेण्ट् hashMap ऑब्जेक्ट् इत्यस्मिन् एन्कैप्सुलेट् करणीयम्, अत्र च प्रत्येकं एलिमेण्ट् sql ऑब्जेक्ट् इत्यस्मिन् एन्कैप्सुलेट् करणीयम् ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

३) पारगमनम्

get मेथड् इत्यस्य उपयोगेन प्रत्यक्षतया वस्तुतः विशेषताः प्राप्नुवन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
एषा पद्धतिः अधिका सुलभा अस्ति, अनेकानि कीलानि प्राप्तुं आवश्यकता नास्ति ।

pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>mavenProject</groupId>
    <artifactId>mavenProject</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>


        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>

    </dependencies>

</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

sql वर्ग

package com.zhou.demo;

public class Sql {
    private String sql;
    private String sqlNo;

    public Sql() {
    }

    public Sql(String sql) {
        this.sql = sql;
    }


    public Sql(String sql, String sqlNo) {
        this.sql = sql;
        this.sqlNo = sqlNo;
    }

    public void setSql(String sql) {
        this.sql = sql;
    }

    public void setSqlNo(String sqlNo) {
        this.sqlNo = sqlNo;
    }

    public String getSql() {
        return sql;
    }

    public String getSqlNo() {
        return sqlNo;
    }

    @Override
    public String toString() {
        return "sql{" +
                "sql='" + sql + ''' +
                ", sqlNo='" + sqlNo + ''' +
                '}';
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
package com.zhou.demo;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Set;
//需求:将json字符串转化成map,字符串:{"username":"qzcsbj", "password":"123456"}

public class Test {
    public static void main(String[] args) {
        String parameters="{"username":"qzcsbj", "password":"123456"}";
        //先解析为JSONObject,然后转换为map
        HashMap<String, String> map = new HashMap<String, String>();

        // 解析json格式字符串为JSONObject(JSONObject是Map接口的一个实现类,和HashMap平级)

        JSONObject jsonObject = JSONObject.parseObject(parameters);
        // 将JSO\\\ NObject转换为map,先获取keys,先将keyset获取,集合里的每一个key都是String,通过遍历的key获取value,再放到map中
        Set<String> keys= jsonObject.keySet();
        for (String key:keys) {
            map.put(key,jsonObject.getString(key));

        }

        //验证,获取Map中的key
        Set<String> keys2 = map.keySet();
        for (String key :keys2) {
            System.out.println(key+"="+map.get(key));
        }

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
package com.zhou.demo;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.List;


//JSON数组,每个元素是json字符串
public class Test02 {

    public static void main(String[] args) {
        String initsql="[n" + "{"sqlNo":"1","sql":"select * from  users where  username='qzcsbj';"},n" +
                "{"sqlNo":"2","sql":"select * from  users where  username='tester00501';"}n" + "n" + "]";
  /*   //元素解析为Map
        List<HashMap> sqls = JSONObject.parseArray(initsql,HashMap.class);
        for (HashMap sql:sqls) {
            System.out.println(sql);
            String sqlNo = (String)sql.get("sqlNo");
            String sql_ = (String)sql.get("sql");
            System.out.println("sqlNo-"+sqlNo+",sql_-"+sql_);
        }*/



  //元素封装到对象
        List<Sql> sqls = JSONObject.parseArray(initsql, Sql.class);

        for (Sql sql:sqls) {
            String sqlNo = sql.getSqlNo();
            String sql_ = sql.getSql();
            System.out.println("sqlNo-"+",sql_"+sql_);

        }

    }


    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

2. jsonpath (अनुप्रयोग परिदृश्यम्: प्रतिक्रिया json आँकडानां विश्लेषणं, यथा प्रतिपादनक्षेत्राणि प्राप्तुं, यथा प्राप्तव्यं सम्बद्धं मूल्यम्)

यतः सम्प्रति परियोजना अग्रे पृष्ठतः च पृथक् कृता अस्ति ।
पृष्ठभागः सामान्यतया json स्ट्रिंग् प्रत्यागच्छति
यदि भवान् प्रतिपादनं कर्तुम् इच्छति तर्हि प्रायः json इत्यस्य विश्लेषणं कृत्वा प्रायः केवलं कीलक्षेत्रेषु प्रतिपादनं करोति ।
प्रतिपादनं सामान्यतया कोड + प्रमुखव्यापारक्षेत्राणि भवन्ति
इदं json स्ट्रिंग् अस्ति, अतः भवद्भिः jsonpath इत्यस्य उपयोगः आवश्यकः

1आश्रयम्

2आश्रिताः योजयन्तु आश्रिताः च स्वयमेव उत्पद्यन्ते

blog.csdnimg.cn/5bdd9defd7db47b7a5934f79f9fd0ceb.png)
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
आश्रयाः अवतरणं कृतम् अस्ति वा इति पुष्टयितुं आवश्यकता अस्ति

2.1.उदाहरणम् (प्रतिक्रियादत्तांशेषु प्रतिपादनीयाः प्रमुखव्यापारक्षेत्राणि प्राप्नुवन्तु)

2.1.1.प्रतिक्रियादत्तांशेषु प्रतिपादनीयाः प्रमुखव्यापारक्षेत्राणि प्राप्नुवन्तु
Step 1: क्लास् नाम रचयन्तु, मुख्य मेथड् रचयन्तु, स्ट्रिंग् वैरिएबलं च परिभाषयन्तु

अत्र अयं चरः सफलप्रवेशानन्तरं प्रत्यागतं प्रतिक्रियाक्षेत्रम् अस्ति ।
blog.csdnimg.cn/a20e89ee243c43f69a1b4e1c3a97b89b.png)

Step 2: assertions कर्तुं, भवद्भिः अन्तः सामग्रीं प्राप्तुं आवश्यकम् Configuration.defaultConfiguration.jsonProvider().parse() इत्यस्य उपयोगः भवति, तथा च return value Object type अस्ति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
परिभाषितक्षेत्रप्रतिक्रियायां उत्तीर्णं कुर्वन्तु

Step 3: JsonPath.read(Object json, String jsonpath, predicate...filters) इति मेथड् इत्यस्य उपयोगं कुर्वन्तु, रिटर्न् प्रकारः Object प्रकारः अस्ति

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

आश्रितदत्तांशसंसाधनार्थं अन्तरफलकस्वचालनम्
अस्याः रेखायाः अग्रेतः टोकनं प्राप्नुवन्तु, यत् अपि $ अस्ति ।
तत् प्राप्त्वा यदि वैश्विकचरम् अस्ति तर्हि वैश्विकचरमध्ये रक्षितुं शक्यते ।
यदि भवन्तः प्रतिपादनं प्राप्तुम् इच्छन्ति ततः प्राप्तुम् इच्छन्ति
अन्यत् प्रतिपादनं कुरुत

3. httpclient (कोड् लिखित्वा अनुरोधं प्रेषयन्तु)

स्वचालनरूपरेखायां, अनुरोधाः कोडलेखनेन प्रेष्यन्ते, यस्य अर्थः अस्ति यत् सर्वरेण सह अन्तरक्रियायै जावाद्वारा प्रदत्तस्य पुस्तकालयस्य httpclient इत्यस्य उपयोगः आवश्यकः ।

1आश्रयम्

2आश्रिताः योजयन्तु आश्रिताः च स्वयमेव उत्पद्यन्ते

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

3.1.उदाहरणम् (अनुरोधं प्राप्नुवन्तु, अनुरोधं कुर्वन्तु)

३.१.१.अनुरोधं प्राप्नुवन्तु
तत्परताकार्यम्: सत्यापयन्तु यत् swagger अन्तरफलकदस्तावेजस्य अनुरोध-अन्तरफलकं पारितम् अस्ति वा इति get अनुरोधं findById तथा च id यत् पारितव्यं तत् निर्धारयितुं अन्तरफलकदस्तावेजं पश्यन्तु।

id उत्तीर्णं कर्तुं आवश्यकता अस्ति
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
पुस्तकालयात् वयं id 259 इति द्रष्टुं शक्नुमः
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Step 1: Test04 इति क्लास् नाम रचयित्वा मुख्य मेथड् रचयन्तु
Step 2: interface इत्यस्य address variable url परिभाषयन्तु तथा च parameters parameters इत्यस्य अनुरोधं कुर्वन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
दत्तांशसञ्चिकायां, पैरामीटर्स् सर्वे json स्ट्रिंग् इत्यत्र संयोजिताः सन्ति, अतः id=259 इत्यपि json स्ट्रिंग् इत्यत्र संयोजितम् अस्ति ।

अत्र स्वयमेव तस्मात् पलायनार्थं २५९ द्विगुण उद्धरणं स्थापयन्तु ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Step 3: json स्ट्रिंग् इत्यस्य विश्लेषणं कुर्वन्तु, JSONObject.parseObject() मेथड् इत्यस्य उपयोगं कुर्वन्तु, रिटर्न् प्रकारः JSONObject प्रकारः अस्ति

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

चरण 4: एकं स्थिरविधिं परिभाषयन्तु getRequest(String url, JSONObject jsonobject)

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Step 5: ततः मुख्यविधौ getRquest() इति आह्वयन्तु रिटर्न् वैल्यू String प्रकारः अस्ति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

षष्ठः चरणः: getRequest() मेथड् लॉजिकं सुधारयन्तु

अनुरोधं प्राप्नुत: http://47.108.153.47:18089/qzcsbj/user/findById?id=259
?पश्चात् प्रत्यक्षतया पैरामीटर्स् स्प्लिस कुर्वन्तु
विचारणीयानि बहुमूल्यानि अपि सन्ति: http://47.108.153.47:18089/qzcsbj/user/findById?id=259&name=jack

1) jsonobetct.keySet() इत्यस्य माध्यमेन कीलं प्राप्नुवन्तु तथा च Set संग्रहं प्राप्नुवन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

2) Set संग्रहं पारं कृत्वा कीलमूल्यं प्राप्नुवन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

३) भवद्भिः बहुमूल्यानां प्रकरणमपि विचारणीयम्, अर्थात् flag = true इति परिभाषयन्तु, प्रथमं true इति लिखन्तु, प्रथमः भवेयुः च

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

४) अन्यथा निम्नलिखितम् लिखत

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

५) res रिक्तं स्ट्रिंग् परिभाष्य res प्रेषयन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
उपर्युक्तं get अनुरोधं प्रेषयितुं पैरामीटर् url तथा पैरामीटर्स् संयोजयिष्यति ।

6) httpget request object रचयन्तु, new HttpGet (org.apache.http.client.methods) इत्येतत् कन्स्ट्रक्टर् चयनं कुर्वन्तु

url इतीदं पारयन्तु
अत्र भवन्तः httpget request ऑब्जेक्ट् प्राप्नुवन्ति
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

7) httpclient client रचयन्तु, HttpClients.createDefault() मेथड् इत्यस्य उपयोगेन, रिटर्न् प्रकारः CloseableHttpClient अस्ति

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

CloseableHttpClient अमूर्तवर्गः HttpClient, Closeable इति अन्तरफलकं कार्यान्वयति
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
बहुरूपतायाः उपयोगः कर्तुं शक्यते, उपवर्गस्य वस्तु च मातापितृवर्गसन्दर्भं (मातृपितृवर्गेण कार्यान्वितं अन्तरफलकं) सूचयति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

8) request execute() मेथड् निष्पादयन्तु, httpget ऑब्जेक्ट् पारयन्तु, ततः अपवादं क्षिपन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

9) HttpResponse ऑब्जेक्ट् प्राप्त्वा Httpentity response ऑब्जेक्ट् प्राप्तुं तस्य getEntity मेथड् आह्वयितुं शक्नुवन्ति EntityUtils.toString मेथड् प्राप्त्वा रिटर्न् प्रकारः String प्रकारः भवति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
परिणामः res इति उपरि परिभाषितः अस्ति
वर्तमाने
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

१०) धावतु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

3.1.2.पोस्ट अनुरोधः
सज्जताकार्यम् : swagger अन्तरफलकदस्तावेजस्य अनुरोध-अन्तरफलकं पारितम् अस्ति वा इति सत्यापयन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Step 1: Test05 इति क्लास् नाम रचयित्वा मुख्य मेथड् रचयन्तु

http://47.108.153.47:18089/qzcsbj/उपयोक्ता/प्रवेशः
url, अनुरोधमापदण्डाः, अनुरोधशीर्षकाः च

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Step 2: interface इत्यस्य address variable url, request parameters parameters, request headers च परिभाषयन्तु

एते मापदण्डाः स्वचालनरूपरेखायां दत्तांशसञ्चिकाभ्यः प्राप्यन्ते ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

Step 3: JSONObject.parseObject() मेथड् इत्यस्य उपयोगेन json string para तथा headers इत्यस्य विश्लेषणं कुर्वन्तु रिटर्न् वैल्यू JSONObject प्रकारस्य अस्ति ।
चरण 4: पोस्ट् अनुरोधं प्रेषयितुं, तर्कं सुधारयितुम्, शीर्षकं, url, पैरामीटर्स् च पारयितुं विधिं परिभाषयन्तु ।

रेस परिभाषयतु
return res

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

1) jsonobetct.keySet() इत्यस्य माध्यमेन कुञ्जीम् प्राप्नुवन्तु, Set संग्रहं प्राप्नुवन्तु, कुञ्जीम् प्राप्तुं कुञ्जीं पारयन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

2) यदि भवान् httppost ऑब्जेक्ट् इत्यस्य माध्यमेन addHeader() मेथड् आह्वयितुम् इच्छति, तथा च रिटर्न् प्रकारः HttPost अस्ति, तर्हि प्रथमं httpppost ऑब्जेक्ट् निर्मातव्यम् ।

url उत्तीर्णं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

३) httppost ऑब्जेक्ट् इत्यस्य माध्यमेन addHeader() मेथड् आह्वयन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

4) httpEntity आवश्यकम्, परन्तु httpEntity एकः अन्तरफलकः अस्ति अन्तरफलकं httpEntity इत्यस्य कार्यान्वयनार्थं StringEntity इति वर्गं कार्यान्वितुं न शक्नोति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
यदि भवान् कन्स्ट्रक्टर् पश्यति तर्हि String इत्येतत् पारयित्वा द्वितीयं कन्स्ट्रक्टर् निर्दिष्टुं शक्नोति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
उपरिष्टात् प्रेषितः पोस्ट् अनुरोधः अस्ति: अनुरोधशीर्षकं प्रेषितव्यं च दत्तांशं च सर्वं परिभाषितम् अस्ति ।

5) httpclient client रचयन्तु, HttpClients.createDefault() मेथड् इत्यस्य उपयोगेन, रिटर्न् प्रकारः CloseableHttpClient अस्ति

उपवर्गस्य वस्तु मातापितृवर्गसन्दर्भं प्रति सूचयति
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

6) अनुरोधं प्रेषयन्तु, request execute() मेथड् निष्पादयन्तु, httppost ऑब्जेक्ट् पारयन्तु, ततः अपवादं क्षिपन्तु ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

7)) HttpResponse ऑब्जेक्ट् प्राप्त्वा, Httpentity response object प्राप्तुं तस्य getEntity मेथड् आह्वयितुं शक्नुवन्ति EntityUtils.toString मेथड् प्राप्त्वा, रिटर्न् प्रकारः String प्रकारः भवति

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

८) मुख्यविधौ अधुना एव परिभाषितं विधिं आह्वयन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

९) धावतु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु